我有一个字符串数组像这样:
Array[6] = ",e1,e2,e3"
Array[7]= ",d1,d2"
Array=[8] ",c1,c2,c3,c4"
阵列的平均第6个索引有3个以逗号分隔的字符串。我现在希望它像
newarray[
Array[6]= "e1"
Array[7]= "e2"
Array[8]= "e3"
Array[9]= "d1"
Array[10] "d2"
等等 ]
忘了第一,让我以简单的方式告诉你们。在数组索引1上,我有1个字符串,','分隔3个子字符串。现在我想将所有三个子字符串推入索引,并且所有三个子字符串必须分别在数组
中答案 0 :(得分:0)
如果我找到你,你想要在新数组中拆分和排序数据。希望这个例子可以帮助你:
var newarr = [];
var arr = [
",e1,e2,e3",
",d1,d2",
",c1,c2,c3,c4"
];
for( var i = 0; i < arr.length; i++ ) {
newarr = [].concat(newarr, arr[i].replace(",", "").split(","))
}
console.log(newarr);
答案 1 :(得分:0)
另一种使用map-reduce的解决方案。
var arr = [
",e1,e2,e3",
",d1,d2",
",c1,c2,c3,c4"
];
var newarr = arr.map(item => item.replace(",", "").split(","))
.reduce((acc, item) => acc.concat(item), [])
.map(item => [item]);
console.log(newarr);
&#13;
要避免使用上一个map
,您可以将reduce
更改为以下内容,但上述版本似乎在语义上令人满意:)但是,请使用适合您的任何内容。
.reduce((acc, item) => {
item.forEach(val => acc.push(val));
return acc;
}, []);
希望这有帮助。
答案 2 :(得分:-1)
为什么不使用ES6传播运算符。
$pattern