拆分包含回车符的数组元素 return
Split array elements containing carriage return
从字符串数组开始,其中一些具有回车符 returns:
var valArray = ["Saab","Volvo","BMW\nHonda\nAudi","Mazda"];
我想做的是摆脱回车 return,将字符串分成与回车 returns +1:
一样多的元素
["Saab","Volvo","BMW","Honda","Audi","Mazda"];
我用 .split 得到了什么:
valArray.split("\n");
["Saab","Volvo",["BMW","Honda","Audi"],"Mazda"];
有什么建议吗?
拆分马车后将项目映射到数组 returns,然后通过应用 concat 来展平数组:
var valArray = ["Saab","Volvo","BMW\nHonda\nAudi","Mazda"];
var result = [].concat.apply([], valArray.map(function(item) {
var items = item.split('\n');
return items;
}));
console.log(result);
另一种没有循环的方法:
var valArray = ["Saab","Volvo","BMW\nHonda\nAudi","Mazda"];
var result = valArray.join(',').split('\n').join(',').split(',');
console.log(result);
如果你想更新现有的数组,那么使用 Array#splice
, Array#concat
和简单的 while 循环做这样的事情。
var valArray = ["Saab", "Volvo", "BMW\nHonda\nAudi", "Mazda"];
var len = valArray.length;
while (len--) {
[].splice.apply(valArray, [len, 1].concat(valArray[len].split('\n')))
}
console.log(valArray)
或者,如果您想要一个新数组,请使用 Array#push
method with the help of Function#apply
方法。
var valArray = ["Saab", "Volvo", "BMW\nHonda\nAudi", "Mazda"];
var len = valArray.length,
res = [];
while (len--) {
[].push.apply(res, valArray[len].split('\n'))
}
console.log(res)
从字符串数组开始,其中一些具有回车符 returns:
var valArray = ["Saab","Volvo","BMW\nHonda\nAudi","Mazda"];
我想做的是摆脱回车 return,将字符串分成与回车 returns +1:
一样多的元素["Saab","Volvo","BMW","Honda","Audi","Mazda"];
我用 .split 得到了什么:
valArray.split("\n");
["Saab","Volvo",["BMW","Honda","Audi"],"Mazda"];
有什么建议吗?
拆分马车后将项目映射到数组 returns,然后通过应用 concat 来展平数组:
var valArray = ["Saab","Volvo","BMW\nHonda\nAudi","Mazda"];
var result = [].concat.apply([], valArray.map(function(item) {
var items = item.split('\n');
return items;
}));
console.log(result);
另一种没有循环的方法:
var valArray = ["Saab","Volvo","BMW\nHonda\nAudi","Mazda"];
var result = valArray.join(',').split('\n').join(',').split(',');
console.log(result);
如果你想更新现有的数组,那么使用 Array#splice
, Array#concat
和简单的 while 循环做这样的事情。
var valArray = ["Saab", "Volvo", "BMW\nHonda\nAudi", "Mazda"];
var len = valArray.length;
while (len--) {
[].splice.apply(valArray, [len, 1].concat(valArray[len].split('\n')))
}
console.log(valArray)
或者,如果您想要一个新数组,请使用 Array#push
method with the help of Function#apply
方法。
var valArray = ["Saab", "Volvo", "BMW\nHonda\nAudi", "Mazda"];
var len = valArray.length,
res = [];
while (len--) {
[].push.apply(res, valArray[len].split('\n'))
}
console.log(res)