gpt4 book ai didi

javascript - 为什么我们有函数sort(), reduce(), map(), filter()?

转载 作者:行者123 更新时间:2023-11-29 16:08:27 26 4
gpt4 key购买 nike

有人可以解释为什么Javascript中的这些数组方法有函数作为参数吗?一个例子是:

newArray = oldArray.map(
function(val){
return val + 3;
});

还有这个,

array.sort(function(a, b) {
return b - a;
});

我无法理解这些函数及其参数在实际数组方法中的作用。

最佳答案

首先你要明白,所有的JavaScript函数都是first class这意味着:

  • 函数是对象类型的一个实例
  • 一个函数可以有属性并且有一个返回到它的构造方法的链接
  • 您可以将函数存储在变量中
  • 您可以将函数作为参数传递给另一个函数
  • 你可以从函数中返回函数

reduce()、sort()、map() 和 filter() 是接受 callback function 的 Array 对象的方法作为参数。

例如:

reduce()

var total = [0, 1, 2, 3].reduce(function(a, b) {
return a + b;
});

排序():

var items = ['réservé', 'premier', 'cliché', 'communiqué', 'café', 'adieu'];
items.sort(function (a, b) {
return a.localeCompare(b);
});

map ():

var numbers = [1, 4, 9];
var doubles = numbers.map(function(num) {
return num * 2;
});

过滤器():

function isBigEnough(value) {
return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);

关于javascript - 为什么我们有函数sort(), reduce(), map(), filter()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835479/

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