函数表达式和箭头函数
函数表达式写法
const array = [1, 2, 3, 4, 5, 6, 7];
array.forEach(function(item, index) {
console.log(item); // 输出数组的每一个元素
});
箭头函数
const array = [1, 2, 3, 4, 5, 6, 7];
array.forEach((item, index) => {
console.log(item); // 输出数组的每一个元素
});
箭头函数通常用于匿名函数的场景,特别是在需要简洁的、一次性的函数逻辑时。它们常用于函数式编程和回调函数中。
例如,下面的箭头函数是一个具有两个参数的匿名函数:
const sum = (a, b) => a + b;
在这个例子中,箭头函数没有具体的函数名,只是通过变量 sum
来引用它。
const sum = (a, b) => a + b;
console.log(sum(2, 3)); // 输出: 5
在这个示例中,我们定义了一个箭头函数,并将其赋值给变量 sum
。然后,我们可以使用变量 sum
来调用箭头函数并传递参数,以执行相应的计算。最后,将返回值打印到控制台。
通过这种方式,变量 sum
成为了箭头函数的引用,可以像其他函数一样使用它。
当然,你也可以将箭头函数赋值给一个具体的函数名,例如:
const myFunction = (a, b) => a + b;
现在,这个箭头函数变成了一个具有名称 myFunction
的函数。
总结起来,箭头函数通常是匿名函数,但也可以赋值给具体的函数名。
数组遍历
foreach和map方法
forEach循环数组,并且可以给原数组重新赋值
返回值:
map()
方法会返回一个新数组,该数组包含应用操作后的每个元素。原始数组不会被修改。
foreach()
方法没有返回值。它只是对每个数组元素执行操作,不能改变原始数组。使用目的:map()
方法通常用于将原始数组中的每个元素转换为不同的值,并将转换后的值以相同顺序放入新数组中。foreach()
方法主要用于对数组元素执行某些操作,如打印输出、更新全局变量等。它不会创建新数组。
find和filter的用法
-
find
方法:- 返回满足条件的第一个元素,如果找不到符合条件的元素,则返回
undefined
。 - 使用
find
方法时,一旦找到满足条件的元素,就会立即停止搜索。 - 适用于查找数组中的单个元素。
- 返回满足条件的第一个元素,如果找不到符合条件的元素,则返回
-
filter
方法:- 返回所有满足条件的元素组成的新数组,如果没有符合条件的元素,则返回空数组
[]
。 - 使用
filter
方法时,会对数组中的每个元素进行遍历,将满足条件的元素都添加到新数组中。 - 适用于查找多个符合条件的元素,并将它们组合成一个新的数组。
- 返回所有满足条件的元素组成的新数组,如果没有符合条件的元素,则返回空数组
-
const numbers = [1, 2, 3, 4, 5, 6]; const findResult = numbers.find(num => num > 3); console.log(findResult); // 输出: 4 const filterResult = numbers.filter(num => num > 3); console.log(filterResult); // 输出: [4, 5, 6]
const this.statsData = [
{ prop: 'John', value: 0 },
{ prop: 'Jane', value: 0 },
{ prop: 'Adam', value: 0 }
];
const statisticsData = [
{ name: 'John', count: 10 },
{ name: 'Jane', count: 5 },
{ name: 'Adam', count: 3 }
];
this.statsData.forEach(e => {
const item = statisticsData.find(t => t.name == e.prop) || {};
e.value = item.count || 0;
});
console.log(this.statsData);
// 输出:
// [
// { prop: 'John', value: 10 },
// { prop: 'Jane', value: 5 },
// { prop: 'Adam', value: 3 }
// ]