根据另一个数组值将项添加到数组中

时间:2015-08-11 04:58:30

标签: javascript jquery arrays

我有3个阵列

var arr1 = ["2", "3", "1"],
    arr2 = ["x", "y", "z"],
    arr3 = [];

如何根据arr2号码顺序将arr3中的项目调入arr1?例如:

arr3 = ["y", "z", "x"];

3 个答案:

答案 0 :(得分:4)

对于0个索引数组

for(var i = 0; i < arr1.length; i++){
   arr3.push(arr2[arr1[i]])
}

或者因为您使用的是1个索引数组

for(var i = 0; i < arr1.length; i++){
   arr3.push(arr2[arr1[i] - 1])
}

答案 1 :(得分:0)

您可以尝试这样的事情:

var arr1 = ["2", "3", "1"],
    arr2 = ["x", "y", "z"],
    arr3 = [];
arr3=arr1.map(function(i){return arr2[i-1]}); 
console.log(arr3)

答案 2 :(得分:0)

如果arr1的值与键不一致,例如arr1 = [50, 4, -2, 999],那么这是一个错综复杂的答案:

arr1.map(function(val, key){ return [val, key] })
    .sort(function(a,b){ return a[0]-b[0] })
    .map(function(a){ return arr2[a[1]] })