es6中数组新增常用的方法有哪些

发布时间:2022-04-19 15:20:05 作者:zzz
来源:亿速云 阅读:1058

ES6中数组新增常用的方法有哪些

ES6(ECMAScript 2015)是JavaScript语言的一个重要版本,它为开发者提供了许多新的特性和语法糖,极大地提升了开发效率和代码的可读性。在ES6中,数组(Array)作为JavaScript中最常用的数据结构之一,也得到了许多新的方法和功能的增强。本文将详细介绍ES6中数组新增的常用方法,帮助开发者更好地理解和应用这些新特性。

1. Array.from()

Array.from() 方法用于将类数组对象或可迭代对象转换为真正的数组。类数组对象是指具有length属性的对象,如argumentsNodeList等。

语法

Array.from(arrayLike[, mapFn[, thisArg]])

示例

const arrayLike = { 0: 'a', 1: 'b', 2: 'c', length: 3 };
const arr = Array.from(arrayLike);
console.log(arr); // ['a', 'b', 'c']

const set = new Set([1, 2, 3]);
const arr2 = Array.from(set, x => x * 2);
console.log(arr2); // [2, 4, 6]

2. Array.of()

Array.of() 方法用于创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

语法

Array.of(element0[, element1[, ...[, elementN]]])

示例

const arr = Array.of(1, 2, 3);
console.log(arr); // [1, 2, 3]

const arr2 = Array.of(7);
console.log(arr2); // [7]

3. Array.prototype.find()

find() 方法用于查找数组中第一个满足条件的元素,并返回该元素。如果没有找到符合条件的元素,则返回undefined

语法

arr.find(callback[, thisArg])

示例

const arr = [1, 2, 3, 4, 5];
const found = arr.find(element => element > 3);
console.log(found); // 4

4. Array.prototype.findIndex()

findIndex() 方法用于查找数组中第一个满足条件的元素的索引,并返回该索引。如果没有找到符合条件的元素,则返回-1

语法

arr.findIndex(callback[, thisArg])

示例

const arr = [1, 2, 3, 4, 5];
const index = arr.findIndex(element => element > 3);
console.log(index); // 3

5. Array.prototype.fill()

fill() 方法用于将数组中的所有元素替换为指定的静态值。

语法

arr.fill(value[, start[, end]])

示例

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

6. Array.prototype.copyWithin()

copyWithin() 方法用于将数组的一部分复制到同一数组中的另一个位置,并返回修改后的数组,而不改变数组的长度。

语法

arr.copyWithin(target[, start[, end]])

示例

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

7. Array.prototype.entries()

entries() 方法返回一个新的数组迭代器对象,该对象包含数组中每个索引的键值对。

语法

arr.entries()

示例

const arr = ['a', 'b', 'c'];
const iterator = arr.entries();

for (const [index, element] of iterator) {
  console.log(index, element);
}
// 0 'a'
// 1 'b'
// 2 'c'

8. Array.prototype.keys()

keys() 方法返回一个新的数组迭代器对象,该对象包含数组中每个索引的键。

语法

arr.keys()

示例

const arr = ['a', 'b', 'c'];
const iterator = arr.keys();

for (const key of iterator) {
  console.log(key);
}
// 0
// 1
// 2

9. Array.prototype.values()

values() 方法返回一个新的数组迭代器对象,该对象包含数组中每个索引的值。

语法

arr.values()

示例

const arr = ['a', 'b', 'c'];
const iterator = arr.values();

for (const value of iterator) {
  console.log(value);
}
// 'a'
// 'b'
// 'c'

10. Array.prototype.includes()

includes() 方法用于判断数组是否包含某个特定的值,返回truefalse

语法

arr.includes(valueToFind[, fromIndex])

示例

const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(3)); // true
console.log(arr.includes(6)); // false

11. Array.prototype.flat()

flat() 方法用于将嵌套的数组“拉平”,即将多维数组转换为一维数组。

语法

arr.flat([depth])

示例

const arr = [1, [2, [3, [4]]]];
console.log(arr.flat()); // [1, 2, [3, [4]]]
console.log(arr.flat(2)); // [1, 2, 3, [4]]
console.log(arr.flat(Infinity)); // [1, 2, 3, 4]

12. Array.prototype.flatMap()

flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它相当于map()flat()的组合。

语法

arr.flatMap(callback[, thisArg])

示例

const arr = [1, 2, 3];
const result = arr.flatMap(x => [x * 2]);
console.log(result); // [2, 4, 6]

13. Array.prototype.reduceRight()

reduceRight() 方法对数组中的每个元素(从右到左)执行一个提供的函数,将其结果汇总为单个返回值。

语法

arr.reduceRight(callback[, initialValue])

示例

const arr = [1, 2, 3, 4];
const result = arr.reduceRight((acc, curr) => acc + curr);
console.log(result); // 10

14. Array.prototype.some()

some() 方法测试数组中是否至少有一个元素通过了提供的函数的测试。

语法

arr.some(callback[, thisArg])

示例

const arr = [1, 2, 3, 4, 5];
const result = arr.some(element => element > 3);
console.log(result); // true

15. Array.prototype.every()

every() 方法测试数组中的所有元素是否都通过了提供的函数的测试。

语法

arr.every(callback[, thisArg])

示例

const arr = [1, 2, 3, 4, 5];
const result = arr.every(element => element > 0);
console.log(result); // true

16. Array.prototype.filter()

filter() 方法创建一个新数组,其中包含通过所提供函数测试的所有元素。

语法

arr.filter(callback[, thisArg])

示例

const arr = [1, 2, 3, 4, 5];
const result = arr.filter(element => element > 3);
console.log(result); // [4, 5]

17. Array.prototype.map()

map() 方法创建一个新数组,其结果是该数组中的每个元素调用一次提供的函数后的返回值。

语法

arr.map(callback[, thisArg])

示例

const arr = [1, 2, 3, 4, 5];
const result = arr.map(element => element * 2);
console.log(result); // [2, 4, 6, 8, 10]

18. Array.prototype.forEach()

forEach() 方法对数组的每个元素执行一次提供的函数。

语法

arr.forEach(callback[, thisArg])

示例

const arr = [1, 2, 3, 4, 5];
arr.forEach(element => console.log(element));
// 1
// 2
// 3
// 4
// 5

19. Array.prototype.reduce()

reduce() 方法对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值。

语法

arr.reduce(callback[, initialValue])

示例

const arr = [1, 2, 3, 4];
const result = arr.reduce((acc, curr) => acc + curr);
console.log(result); // 10

20. Array.prototype.sort()

sort() 方法对数组的元素进行排序,并返回排序后的数组。默认排序顺序是根据字符串Unicode码点。

语法

arr.sort([compareFunction])

示例

const arr = [3, 1, 4, 1, 5, 9];
arr.sort((a, b) => a - b);
console.log(arr); // [1, 1, 3, 4, 5, 9]

21. Array.prototype.reverse()

reverse() 方法将数组中元素的位置颠倒,并返回该数组。

语法

arr.reverse()

示例

const arr = [1, 2, 3, 4, 5];
arr.reverse();
console.log(arr); // [5, 4, 3, 2, 1]

22. Array.prototype.concat()

concat() 方法用于合并两个或多个数组,并返回一个新数组。

语法

arr.concat(value1[, value2[, ...[, valueN]]])

示例

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const result = arr1.concat(arr2);
console.log(result); // [1, 2, 3, 4, 5, 6]

23. Array.prototype.slice()

slice() 方法返回一个新的数组对象,这一对象是一个由beginend(不包括end)决定的原数组的浅拷贝。

语法

arr.slice([begin[, end]])

示例

const arr = [1, 2, 3, 4, 5];
const result = arr.slice(1, 3);
console.log(result); // [2, 3]

24. Array.prototype.splice()

splice() 方法通过删除或替换现有元素或者添加新元素来修改数组,并以数组形式返回被修改的内容。

语法

arr.splice(start[, deleteCount[, item1[, item2[, ...]]]])

示例

const arr = [1, 2, 3, 4, 5];
arr.splice(2, 1, 'a', 'b');
console.log(arr); // [1, 2, 'a', 'b', 4, 5]

25. Array.prototype.join()

join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。

语法

arr.join([separator])

示例

const arr = [1, 2, 3, 4, 5];
const result = arr.join('-');
console.log(result); // '1-2-3-4-5'

26. Array.prototype.toString()

toString() 方法返回一个字符串,表示指定的数组及其元素。

语法

arr.toString()

示例

const arr = [1, 2, 3, 4, 5];
const result = arr.toString();
console.log(result); // '1,2,3,4,5'

27. Array.prototype.toLocaleString()

toLocaleString() 方法返回一个字符串表示数组中的元素。数组中的元素将使用各自的toLocaleString方法转成字符串。

语法

arr.toLocaleString([locales[, options]])

示例

const arr = [1, 'a', new Date('21 Dec 1997 14:12:00 UTC')];
const result = arr.toLocaleString('en', { timeZone: 'UTC' });
console.log(result); // '1,a,12/21/1997, 2:12:00 PM'

28. Array.prototype.indexOf()

indexOf() 方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。

语法

arr.indexOf(searchElement[, fromIndex])

示例

const arr = [1, 2, 3, 4, 5];
const index = arr.indexOf(3);
console.log(index); // 2

29. Array.prototype.lastIndexOf()

lastIndexOf() 方法返回指定元素在数组中的最后一个的索引,如果不存在则返回-1。

语法

arr.lastIndexOf(searchElement[, fromIndex])

示例

const arr = [1, 2, 3, 4, 5, 3];
const index = arr.lastIndexOf(3);
console.log(index); // 5

30. Array.prototype.includes()

includes() 方法用于判断数组是否包含某个特定的值,返回truefalse

语法

arr.includes(valueToFind[, fromIndex])

示例

”`javascript const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true

推荐阅读:
  1. ES6新增的数组知识是什么
  2. ES6 新增的创建数组的方法(小结)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

es6

上一篇:Go语言中的链表怎么使用

下一篇:微信小程序中怎么封装request接口

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》