JavaScript琐碎-数组方法对比

JavaScript中数组方法对比

map与filter

map 方法

  • 用途: 对数组中的每个元素应用一个函数,并返回一个新数组,数组中的每个元素都是原数组对应元素经过函数处理后的结果。
  • 返回值: 新数组,其中每个元素是调用函数后的结果。
  • 不修改原数组: map 不会改变原始数组,而是返回一个新的数组。
let numbers = [1, 2, 3, 4];
let doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]

filter 方法

  • 用途: 对数组中的每个元素应用一个测试函数,并返回一个新数组,数组中的元素都是通过测试的结果。
  • 返回值: 新数组,其中包含通过测试函数的所有元素。
  • 不修改原数组: filter 不会改变原始数组,而是返回一个新的数组,包含符合条件的元素。
let numbers = [1, 2, 3, 4];
let even = numbers.filter(num => num % 2 === 0);
console.log(even); // [2, 4]

reduce与some

reduce方法

  • 用于将数组中的所有元素累积成一个单一的值。
  • 适用于执行累加、拼接、计数等需要处理整个数组并得到一个结果的操作。
//求和
let numbers = [1, 2, 3, 4];
let sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 10

some方法

  • 用于检查数组中是否至少有一个元素满足给定的测试条件。
  • 适用于验证某个条件是否在数组中成立,返回一个布尔值(true 或 false)。
//检查是否存在大于 5 的元素:
let numbers = [1, 2, 3, 4, 6];
let hasLargeNumber = numbers.some(num => num > 5);
console.log(hasLargeNumber); // true

every与entries

every方法

  • 用于测试数组中所有元素是否都满足指定的条件。
  • 如果所有元素都满足条件,则返回 true;否则返回 false。
//检查数组中的所有元素是否都是正数
let numbers = [1, 2, 3, 4];
let allPositive = numbers.every(num => num > 0);
console.log(allPositive); // true

entries方法

  • 返回一个新的数组迭代器对象,该对象包含数组中每个元素的键值对(即索引和值的数组)。
  • 用于遍历数组的键值对,通常与 for…of 循环结合使用。
let numbers = [10, 20, 30];
let iterator = numbers.entries();
iterator.forEach(([index, value]) => {
  console.log(index, value);
});
// 输出:
// 0 10
// 1 20
// 2 30

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值