我有這樣的數組。如何將任意數組中的值分隔爲多個數組
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