[英]Get array key in map method
我正在函數中比較兩個數組,並希望返回每個數組鍵處具有最高值的數組。 在我的函數中,我有兩個參數都代表一個數組。
數組具有相同的長度,並且其鍵值為常規索引號
現在,我只使用普通的for循環:
var array1 = [50, 30, 44, 8];
var array2 = [12, 44, 18, 9];
function createList(arr1, arr2){
for(var x = 0; x < arr1.length; x++){
arr1[x] = arr1[x] > arr2[x]?arr1[x]:arr2[x];
}
return arr1;
}
var highList = createList(array1, array2);
現在,我知道獲得此結果還有其他可能性。 但是我想知道您是否可以在map方法中獲取當前鍵並將其與另一個數組進行比較。
符合:
var highList = array1.map(function(num){
return num > array2[keyOfCurrentMap]?num:array2[keyofCurrentMap];
});
var highList = array1.map(function(num, keyOfCurrentMap){
return num > array2[keyOfCurrentMap]?num:array2[keyofCurrentMap];
});
傳遞給map
的回調的第二個參數是關鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.