簡體   English   中英

在map方法中獲取數組鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM