ES6 引入的新数组方法列表

ES6 引入的新数组方法列表

ECMAScript 2015,也称为ES6,是对Javascript的增强修订。通过此更新,引入了一些功能,并列出了与数组操作相关的方法:

JavaScript find() 方法: 此方法返回数组中符合条件的第一个元素。更具语法性地说,它根据提供的作为参数的测试函数返回数组的一个元素。

  • 如果没有找到符合给定条件的元素,则返回 undefined
  • 如果有多个元素满足给定条件,则返回 第一个出现的元素

示例: 我们提供一个简单的函数,使用箭头语法在find方法中检查当前元素是否等于5,并将返回满足该条件的元素。

JavaScript代码

const array = [6, 8, 78, 21, 5];
 
const returnedElement = array.find((element) => {
return element == 5;
});
 
console.log(returnedElement);

输出:

**5**

JavaScript findIndex() 方法 它与上面描述的find方法类似,区别在于它返回元素的索引而不是实际值,并且如果未找到该元素则返回-1。从语法上讲,它返回回调函数产生truthy值的元素的索引。

示例:

JavaScript

const array = [6, 8, 78, 21, 5];
 
const returnedIndex = array.findIndex((element) => {
return element == 5;
});
 
console.log(returnedIndex);

输出:

4  

JavaScript of() 方法 : 这个方法根据提供的数据创建一个新的数组实例。它与元素的数量和类型无关。

语法:

Array.of(element0, element1, element2,......elementn)

示例: 在第一个示例中,我们只传递了一个整数,因此它将创建一个只有一个元素的数组,这是它与Array构造函数不同的特性之一。在第二个示例中,我们传递了4个值来创建一个数组。

JavaScript

const arr1 = Array.of(2);
const arr2 = Array.of(7, 2, 3, 4);
console.log(arr1);
console.log(arr2);

输出:

[2]
(4) [7, 2, 3, 4]

JavaScript fill()方法 正如其名,它用于用单个提供的值填充数组或特定部分。在一些填充修改之后,它返回原始数组。

语法:

fill(value, start, end)
  • 您可以省略起始和结束参数,它们的默认值分别是 0和数组长度
  • 它不会复制数组,而是修改原始数组并返回。

示例: 我们在开始创建了一个数组。第一次调用fill方法返回的数组从索引3到5(不包括)填充了值为1的元素。第二次调用返回从索引2到最后一个索引都填充了值为7的数组。第三次调用返回了一个到处填充了值为3的数组。

Javascript

const arr = [8, 3, 11, 9, 6];
console.log(arr.fill(1, 3, 5));
console.log(arr.fill(7, 2));
console.log(arr.fill(3));

输出:

(5) [8, 3, 11, 1, 1]
(5) [8, 3, 7, 7, 7]
(5) [3, 3, 3, 3, 3]

JavaScript的from()方法 它根据提供的可迭代对象(如set、map、nodelist、string等)创建一个浅复制的数组实例。

示例: 在第一次调用from方法时,我们传递了一个set,并返回了一个数组实例;在第二次调用时,传递了一个字符串。

JavaScript

const set = new Set(['foo', 'bar', 'baz', 'foo']);
console.log(Array.from(set));
 
const str = 'string';
console.log(Array.from(str));

输出:

(3) ['foo', 'bar', 'baz']
(6) ['s', 't', 'r', 'i', 'n', 'g']

JavaScript values() 方法 这个方法返回提供的数组的可迭代对象的值。

示例: 在我们声明了数组后,调用values方法返回了该数组的可迭代对象的值。

JavaScript

const arr = ['a', 'b', 'c', 'd'];
const iterator = arr.values();
 
for (const value of iterator) {
    console.log(value);
}

输出结果:

a
b
c
d

JavaScript keys() 方法: 它返回一个迭代对象,其中包含数组元素的键。

示例:

Javascript

const arr = ['a', 'b', 'c', 'd'];
const iterator = arr.keys();
 
for (const value of iterator) {
    console.log(value);
}

输出:

0
1
2
3

JavaScript entries()方法 返回一个可迭代对象,其中包含键值对,其中键是数组中该元素的索引。

示例:

JavaScript

const arr = ['a', 'b', 'c', 'd'];
const iterator = arr.entries();
 
for (const value of iterator) {
    console.log(value);
}

输出:

(2) [0, 'a']
(2) [1, 'b']
(2) [2, 'c']
(2) [3, 'd']

JavaScript copyWithin()方法 :

正如名称所示,它用于将同一个数组中的元素从一个位置浅复制到另一个位置。数组的长度将保持不变。

语法:

copyWithin(target, start, end);
  • 您可以省略起始和结束参数,其默认值分别为 0和数组长度
  • 如果目标位置在起始位置之后,则 复制的序列将被修剪以适应数组的长度

示例: 首先,我们创建了一个数组,然后前一个copyWithin调用将数组的内容从第4个索引复制到第5个(不包括)索引的0号目标索引。在下一个调用中,它将数组的内容从第3个索引复制到最后一个(因为没有给出结束参数),目标位置为第2个索引。

Javascript

const arr = [1, 2, 3, 4, 5, 6];
 
console.log(arr.copyWithin(0, 4, 5));
console.log(arr.copyWithin(2, 3));

输出:

(6) [5, 2, 3, 4, 5, 6]
(6) [5, 2, 4, 5, 6, 6]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程