Es6常用函数

1、filter()
作用:根据指定条件筛选出数组中满足条件的元素,并返回一个新数组。

const numbers = [1, 2, 3, 4, 5];

const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]

filter() 方法会遍历数组中的每个元素,对每个元素都调用一次 函数。如果函数返回 true,则当前元素会保留在新的数组中;如果 callback 函数返回 false,则当前元素不会包含在新的数组中。

2、map

作用:对数组中的每个元素执行回调函数,并返回一个新数组,新数组的元素是回调函数的返回值。

const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map(num =>{
    return num * num
}); // [1, 4, 9, 16, 25]

3、unshift()

作用:用于向数组的开头添加一个或多个元素,并返回新数组的长度

// 添加一个元素
const numbers = [2, 3, 4, 5];
const newLength = numbers.unshift(1);
console.log(numbers); // [1, 2, 3, 4, 5]
console.log(newLength); // 5

// 添加多个元素
const numbers = [4, 5];
const newLength = numbers.unshift(1, 2, 3);
console.log(numbers); // [1, 2, 3, 4, 5]
console.log(newLength); // 5

4、pust()

作用:用于向数组的尾部添加一个或多个元素,并返回新数组的长度

const numbers = [1, 2, 3, 4];
const newLength = numbers.push(5);
console.log(numbers); // [1, 2, 3, 4, 5]
console.log(newLength); // 5

// 添加多个
const numbers = [1, 2, 3];
const newLength = numbers.push(4, 5);
console.log(numbers); // [1, 2, 3, 4, 5]
console.log(newLength); // 5

5、reduce()

作用:用于对数组元素进行累积计算。它接受两个参数:回调函数和可选的初始值。

回调函数有四个参数:

累加器(accumulator):存储累积的结果。
当前值(current value):正在被处理的当前元素。
当前索引(current index):正在被处理的当前元素的索引(可选)。
原数组(array):调用reduce()的数组。

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出: 15

需要注意的是,如果不提供初始值,则reduce()会将数组的第一个元素作为累加器的初始值,并从数组的第二个元素开始进行累积计算。

6、forEach()

作用: 该方法接受一个回调函数作为参数,回调函数会在数组的每个元素上被调用,并传递三个参数:当前元素值、当前索引和数组本身。回调函数可以用来对每个元素进行操作或执行其他自定义逻辑。

const array = [1, 2, 3, 4, 5];

array.forEach((element, index, array) => {
  console.log(`当前元素:${element}`);
  console.log(`当前索引:${index}`);
  console.log(`原数组:${array}`);
});

需要注意的是,forEach() 方法不会返回新的数组,它只是用来遍历数组并对每个元素执行操作。如果需要返回一个新的数组,可以考虑使用 map() 方法。

此外,使用 forEach() 方法时,不能在遍历过程中通过 return 来中断或跳出循环。如果需要中断循环,可以使用 for...of 循环或 Array.prototype.some() 方法等其他方式。

7、every()

作用: 用于检测数组中的所有元素是否都满足指定条件。它会遍历数组的每个元素,并对每个元素调用一个回调函数进行判断,并传递三个参数:当前元素值、当前索引和数组本身。回调函数应返回一个布尔值,表示当前元素 是否满足条件。

const array = [2, 4, 6, 8, 10];

const isEven = (element) => {
  return element % 2 === 0;
};

const allEven = array.every(isEven);

console.log(allEven); // 输出: true

需要注意的是,如果数组为空,则 every() 方法始终返回 true,因为没有元素不满足条件。此外,every() 方法只要遇到第一个不满足条件的元素,就会停止遍历并返回 false。

every() 方法可以用来检测数组中是否存在某种特定的情况,例如判断数组中的所有元素是否都满足某个条件。根据具体需求,可以编写不同的回调函数来实现不同的判断逻辑。

8、some()

作用: 用于检测数组中是否存在满足指定条件的元素。它会遍历数组的每个元素,并对每个元素调用一个回调函数进行判断,并传递三个参数:当前元素值、当前索引和数组本身。回调函数应返回一个布尔值,表示当前元素是否满足条件。

const array = [1, 3, 5, 7, 9];

const isEven = (element) => {
  return element % 2 === 0;
};

const hasEvenNumber = array.some(isEven);

console.log(hasEvenNumber); // 输出: false

需要注意的是,如果数组为空,则 some() 方法始终返回 false,因为没有元素满足条件。此外,some() 方法只要遇到第一个满足条件的元素,就会停止遍历并返回 true

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值