ES6中数组新增了哪些扩展?

ES6(ECMAScript 2015)为JavaScript中的数组引入了许多新的扩展功能。以下是一些主要的ES6数组扩展:

  1. 箭头函数(Arrow Functions): ES6引入了箭头函数,它允许更简洁的函数定义语法。这对于数组方法如.map().filter().forEach()等非常有用。

const numbers = [1, 2, 3];
const doubled = numbers.map((num) => num * 2);
console.log(doubled); // 输出: [2, 4, 6]
  1. 扩展运算符(Spread Operator): 扩展运算符 (...) 允许您在数组字面量、函数调用或其他表达式中展开数组,以便将数组的元素合并到新的数组中。

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combined = [...arr1, ...arr2];
console.log(combined); // 输出: [1, 2, 3, 4, 5, 6]
  1. 模板字符串(Template Strings): 模板字符串允许您插入变量和表达式到字符串字面量中,这对于创建动态的数组内容非常有用。

const name = "Alice";
const greeting = `Hello, ${name}!`;
console.log(greeting); // 输出: Hello, Alice!
  1. Array.from() 方法Array.from() 方法允许您将类似数组的对象或可迭代对象转换为真正的数组。这在处理DOM集合或其他可迭代对象时非常有用。

const arrayLike = document.querySelectorAll(".elements"); // DOM集合
const newArray = Array.from(arrayLike);
  1. Array.of() 方法Array.of() 方法用于创建具有给定参数的新数组。与Array() 构造函数不同,它不会根据参数数量的不同来创建不同类型的数组。

const arr = Array.of(1, 2, 3);
console.log(arr); // 输出: [1, 2, 3]
  1. find() 和 findIndex() 方法find() 方法用于查找数组中第一个满足条件的元素,而 findIndex() 方法用于查找第一个满足条件的元素的索引。

const numbers = [10, 20, 30, 40, 50];
const foundValue = numbers.find((num) => num > 25);
console.log(foundValue); // 输出: 30

const foundIndex = numbers.findIndex((num) => num > 25);
console.log(foundIndex); // 输出: 2
  1. includes() 方法includes() 方法用于检查数组是否包含特定的元素,并返回一个布尔值。

const numbers = [1, 2, 3, 4, 5];
console.log(numbers.includes(3)); // 输出: true
console.log(numbers.includes(6)); // 输出: false
  1. fill() 方法fill() 方法允许您用指定的值填充数组的所有元素。

const arr = [1, 2, 3, 4, 5];
arr.fill(0, 2, 4); // 将2和3替换为0
console.log(arr); // 输出: [1, 2, 0, 0, 5]
  1. copyWithin() 方法copyWithin() 方法允许您将数组的一部分复制到另一部分,同时保留原始数组的长度。

const arr = [1, 2, 3, 4, 5];
arr.copyWithin(0, 3, 4); // 从索引3开始复制到索引4(不包括),覆盖索引0开始的位置
console.log(arr); // 输出: [4, 2, 3, 4, 5]
  1. Symbol.species: 使用Symbol.species属性,您可以更容易地自定义数组方法的行为,以便它们返回与原始数组相同类型的新数组。

这些是ES6中引入的一些主要数组扩展功能。它们可以使JavaScript中的数组操作更加方便和强大。

你可能感兴趣的:(javascript,面试,es6,javascript,前端)