我有3个阵列:
Array1
和Array2
彼此有联系:
var Array1 = ['Bob','James','Kanye','West'];
var Array2 = [0,1,2,3];
var Array3 = [1,3,0,2];
如何将其显示在此?
Array4 = ['James', 'West', 'Bob','Kanye'];
答案 0 :(得分:0)
你需要在Array上运行一个循环,将整数作为indexnumber,然后用第一个数组中的数字打印出第一个数组。
答案 1 :(得分:0)
你将需要2个循环,1将遍历Array3的每个元素,第二个循环将用于查找索引值,将与Array2进行比较以查找Array 1的索引,然后该索引值将保存在Array4中ARRAY1
for (var i = 0; i < Array3.length; i++)
{
var index = Array3[i];
var position=-1;
for(var j=0; j < Array2.length;j++)
{
if(index==Array2[j])
{
position = j;
break;
}
}
Array4[i] = Array1[j];
}
答案 2 :(得分:0)
您需要使用 - 并阅读the documentation - 数组&#39; map
方法:
const names = ['Bob','James','Kanye','West'];
const order = [1,3,0,2];
const orderedNames = order.map(x => names[x]);
console.log(orderedNames);
// => ["James", "West", "Bob", "Kanye"]
小提琴:https://jsfiddle.net/68hrrjx3/
在其他答案的背景下也有点相关:What is the difference between declarative and imperative programming