2016-01-19 14 views

回答

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

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

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

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

其他解决方案更有效,因为他们只需要一个迭代。 – Dencker

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

相关问题