我有兩個數組:arrayOfIds和arrayOfScores。我需要將相應的id映射到score(1on1 map),最後我應該有{id_i,score_i}項的數組。從arrayOfIds的第一個ID到arrayOfScores的第一個分數。是否有更好的方法比使用double for循環更好?兩個陣列當然有相同的長度。兩個數組組合爲{array1 [i],array2 [i]}不帶雙重循環
實施例:
var arrayOfIds = ['4', '6', '8', '10', '12'];
var arrayOfScores= [0.1, 0.5, 0.8, 0.3, 0.7];
結果:
var combined = [ {id: '4', score: 0.1},
{id: '6', score: 0.5},
{id: '8', score: 0.8},
{id: '10', score: 0.3},
{id: '12', score: 0.7}
];
爲了幫助你思考:爲什麼你會需要一個 '雙' 的循環?如果它們的長度相同,則可以使用一個循環,併爲兩個數組使用相同的迭代變量。 –
爲什麼兩個循環?一個就足夠了。或者'Array.reduce()'或'Array.map()'或者'Array.forEach()' – Andreas
@KarlReid我想象一下提問者的意思,不是嵌套for循環。對於初學者來說,這是一個可以理解的概念誤解。 –