Так просто, используйте метод String.prototype.split
, чтобы разделить строки на список массивов.
MDN: Метод
Разделения() разбивает объект строки на массив строк, разделяя строку на подстроки.
return str.split(' ');
@Christoph: Вы используете некоторые очень плохие конвенции здесь.
var Array
function (string)
Array
предопределенный класс в JavaScript и string
довольно близко к предопределенного класса String
, так что просто не использовать их полностью.
var arr;
function (str)
Короткий Метод: разбивает строку с несколькими словами, ручки в стиле фанк строки, которые String.prototype.split(' ')
не могут обрабатывать как " firstName Lastname"
или просто "firstName Lastname"
. возвращает Array
function smartSplit (str) {
// .trim() remove spaces surround the word
// /\s+/ split multiple spaces not just one ' '
return str.trim().split(/\s+/);
}
Test Case:
// case: split(' ');
console.log(" firstName lastName".split(' '));
// result: ["", "", "", "firstName", "", "", "", "lastName"]
// case: split(/\s+/)
console.log(" firstName lastName".split(/\s+/));
// result: ["", "firstName", "lastName"]
// case: .trim().split(/\s+/)
console.log(smartSplit(" firstName lastName"));
// result: ["firstName", "lastName"]
Полный метод: же, как smartSplit
за исключением того, что ожидает Array
в качестве параметра вместо String
function smartSplitAll (strArr) {
var newArr = [];
for (var i = 0; i < strArr.length; i++) {
// expecting string array
var str = strArr[i].trim();
// split the string if it has multiple words
if (str.indexOf(' ') > -1)
newArr = newArr.concat(str.split(/\s+/));
else
newArr.push(str);
}
return newArr;
}
console.log(smartSplitAll(["firstName lastName", "anotherString"]);
// result: ["firstName", "lastName", "anotherString"]
Код живет здесь: http://jsfiddle.net/8xgzkz16/
'Array [0] .split (» «)'? – Christoph
"* Я хотел бы создать функцию, которая ... *" - и вы застряли, где? –
Тратить немного времени на изучение Javascript окупится в пики! – sherb