gpt4 book ai didi

JavaScript 应用

转载 作者:行者123 更新时间:2023-11-28 16:06:22 28 4
gpt4 key购买 nike

Secrets of the JavaScript Ninja中有一个例子它提供了以下代码来绕过 JavaScript 的 Math.min() 函数,该函数需要一个可变长度列表。

Example: Math.min(1,2,3,4,5);

但是,如果您有一个列表:[1,2,3,4,5],就会出现问题,因为您不想循环遍历该列表,跟踪当前最小值。

书上说使用下面的代码来解决这个问题。

function smallest(arr) {
return Math.min.apply(Math, arr);
}

alert(smallest([1,2,3,4,5,6,-33]));

Math.min.apply(Math, arr) 会发生什么?

最佳答案

.apply method “使用给定的 this 值和作为数组(或类似数组的对象)提供的参数来调用函数。”

所以基本上它的工作原理就像直接调用函数时将数组的每个项目作为单独的参数传递一样。

.apply() 的第一个参数设置函数要使用的 this 的值,因此您的示例会传递 Math ,因此它的工作原理与直接调用它作为 Math.min(...) 相同。

请注意,您可以使用任何函数执行相同的操作:

function someFunc(a,b,c,d) { ... }

someFunc(1,2,3,4);
// or
someFunc.apply(null, [1,2,3,4]);

关于JavaScript 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14791987/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com