将数组字符串的所有数据推送到新的数组javascript

时间:2017-07-21 10:16:31

标签: javascript jquery arrays

我有一个字符串数组像这样:

    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个子字符串。现在我想将所有三个子字符串推入索引,并且所有三个子字符串必须分别在数组

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的解决方案。

&#13;
&#13;
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;
&#13;
&#13;

要避免使用上一个map,您可以将reduce更改为以下内容,但上述版本似乎在语义上令人满意:)但是,请使用适合您的任何内容。

.reduce((acc, item) => {
    item.forEach(val => acc.push(val));
    return acc;
}, []);

希望这有帮助。

答案 2 :(得分:-1)

为什么不使用ES6传播运算符。

$pattern