可以套用()删除方法的方法吗?

问题描述 投票:0回答:1

请比较以下功能:

function maxOver2DArr(arr){
    return arr.map(sub => {
        return Math.max.apply(null, sub)
    })
}
const arr1 = [[13, 27, 18, 26], [1000, 1001, 857, 1]]

console.log(maxOver2DArr(arr1)); //[ 27, 1001 ]

function maxOver2DArr(arr){
    return arr.map(sub => {
        return Math.max.apply(Array, sub)
    })
}
const arr1 = [[13, 27, 18, 26], [1000, 1001, 857, 1]]

console.log(maxOver2DArr(arr1)); //[ 27, 1001 ]

是的,我确实要删除Math.max(Math)的this,而在第二个中将Math.max的this设置为Array吗?

javascript arrays this apply
1个回答
0
投票

所以,第一个参数是调用了this的函数中的apply的值,在这种情况下,函数为Math.max

但是Math.max甚至不使用this的值,因此无论您作为apply的第一个参数传递什么,因此结果都相同

© www.soinside.com 2019 - 2024. All rights reserved.