1. 扩展运算符(Spread Operator):
扩展运算符 ... 可以在数组字面量中展开数组,或者在函数调用/定义中将数组元素传递/接收为参数:
// 数组展开
const array1 = [1, 2, 3];
const array2 = [...array1, 4, 5];
// 函数参数展开
function sum(...numbers) {
return numbers.reduce((acc, num) => acc + num, 0);
}
console.log(sum(...array2)); // 输出:15
2. Array.from() 方法:
Array.from() 方法用于将类数组对象或可迭代对象转换为真正的数组:
const arrayLike = { length: 3, 0: 'a', 1: 'b', 2: 'c' };
const newArray = Array.from(arrayLike);
console.log(newArray); // 输出:['a', 'b', 'c']
3. Array.of() 方法:
Array.of() 方法用于创建一个具有可变数量参数的新数组,而不考虑参数的类型或数量:
const newArray = Array.of(1, 'hello', [3, 4]);
console.log(newArray); // 输出:[1, 'hello', [3, 4]]
4. Array.find() 和 Array.findIndex() 方法:
Array.find() 用于找到数组中满足条件的第一个元素,Array.findIndex() 则返回找到元素的索引:
const numbers = [10, 20, 30, 40];
const result = numbers.find(num => num > 25);
console.log(result); // 输出:30
console.log(numbers.findIndex(num => num > 25)); // 输出:2
5. Array.includes() 方法:
Array.includes() 方法用于判断数组是否包含指定元素,返回布尔值:
const numbers = [1, 2, 3, 4, 5];
console.log(numbers.includes(3)); // true
console.log(numbers.includes(8)); // false
6. Array.keys()、Array.values() 和 Array.entries() 方法:
这些方法返回数组的迭代器,分别用于获取数组的键、值和键值对:
const fruits = ['apple', 'banana', 'orange'];
// 获取键
for (let key of fruits.keys()) {
console.log(key); // 输出:0 1 2
}
// 获取值
for (let value of fruits.values()) {
console.log(value); // 输出:'apple' 'banana' 'orange'
}
// 获取键值对
for (let entry of fruits.entries()) {
console.log(entry); // 输出:[0, 'apple'] [1, 'banana'] [2, 'orange']
}
7. Array.fill() 方法:
Array.fill() 方法用于填充数组的所有元素,可以指定填充的值和填充的起始位置和结束位置:
const numbers = [1, 2, 3, 4, 5];
numbers.fill(0, 2, 4);
console.log(numbers); // 输出:[1, 2, 0, 0, 5]
这些 ES6 数组的扩展方法使得在处理数组时更为灵活和便捷。
转载请注明出处:http://www.zyzy.cn/article/detail/4669/ES6