我有这样的数组。如何将任意数组中的值分隔为多个数组
var array= ["4220495|1", "4220495|2"]
如果您想了解更多信息,让我知道我想在不同的阵列,这些值是这样
var firstArray=["4220495", "4220495"];
var secondArray=["1", "2"];
。
我有这样的数组。如何将任意数组中的值分隔为多个数组
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>');
其他解决方案更有效,因为他们只需要一个迭代。 – Dencker