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