ES6原生循环数组方法

文章介绍了JavaScript中的函数表达式和箭头函数的使用,包括数组的forEach、map、find和filter方法。箭头函数提供了一种更简洁的语法,常用于匿名函数和回调。forEach用于遍历数组不做修改,map生成新数组,find查找满足条件的第一个元素,filter则返回所有符合条件的元素组成的数组。
摘要由CSDN通过智能技术生成

函数表达式和箭头函数

函数表达式写法

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的用法

  1. find 方法:

    • 返回满足条件的第一个元素,如果找不到符合条件的元素,则返回 undefined
    • 使用 find 方法时,一旦找到满足条件的元素,就会立即停止搜索。
    • 适用于查找数组中的单个元素。
  2. filter 方法:

    • 返回所有满足条件的元素组成的新数组,如果没有符合条件的元素,则返回空数组 []
    • 使用 filter 方法时,会对数组中的每个元素进行遍历,将满足条件的元素都添加到新数组中。
    • 适用于查找多个符合条件的元素,并将它们组合成一个新的数组。
  3. 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 }
// ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值