如何将任何数组中的值分隔为多个数组

How to Separate values from any array into multiple array

我有这样的数组。

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

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

var firstArray=["4220495", "4220495"];
var secondArray=["1", "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);

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

有很多方法可以做到这一点。这是一个:

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] });

这是适用于任何拆分长度的更通用的解决方案。

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>');