如何将值从任何数组分成多个数组

时间:2016-01-19 14:36:20

标签: javascript jquery underscore.js

我有这样的数组。

 var array= ["4220495|1", "4220495|2"]

我希望这些值在这个单独的数组中

var firstArray=["4220495", "4220495"];
var secondArray=["1", "2"];

如果您想了解更多信息,请与我们联系。

4 个答案:

答案 0 :(得分:2)

您可以迭代值并获得结果



var array= ["4220495|1", "4220495|2"];
var firstArray = [];
var secondArray = [];

for (var i = 0; i < array.length;i++) {
  var itemArray = array[i].split('|');
  firstArray.push(itemArray[0]);
  secondArray.push(itemArray[1])
}
console.log(firstArray);
console.log(secondArray);
&#13;
&#13;
&#13;

答案 1 :(得分:2)

var firstArr = [];
var secondArr = [];
["4220495|1", "4220495|2"].map(function(value) {
   var splitted = value.split('|');
   firstArr.push(splitted[0]);
   secondArr.push(splitted[1]);
});

答案 2 :(得分:2)

许多方法都可以做到这一点。这是一个:

var array= ["4220495|1", "4220495|2"];
var firstArray = array.map(function(v){ return v.split("|")[0] });
var secondArray= array.map(function(v){ return v.split("|")[1] });

答案 3 :(得分:2)

对于任何分割长度,这是一种更通用的解决方案。

var array = ["4220495|1", "4220495|2"],
    firstArray = [],
    secondArray = [];

function arraySplit(array, target) {
    array.forEach(function (a) {
        a.split('|').forEach(function (b, i) {
            target[i].push(b);
        });
    });
}

arraySplit(array, [firstArray, secondArray]);

document.write('<pre>' + JSON.stringify(firstArray, 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(secondArray, 0, 4) + '</pre>');