随着前端技术的不断发展,JavaScript 语言也在不断更新和改进。ES7(ECMAScript 2016)是 JavaScript 语言的一个重要版本,其中包含了许多新特性和语法糖,其中之一就是数组方法的增强。本文将介绍 ES7 中新增的数组方法,包括 includes
、flat
、flatMap
和 Object.values/Object.entries
。
includes
includes
方法用于判断数组是否包含某个值,它的返回值为布尔值。这个方法非常实用,因为在 ES6 之前,我们通常需要使用 indexOf
方法来判断一个值是否在数组中,但这个方法有些不够直观和繁琐。
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
flat
flat
方法用于将一个多维数组变成一维数组。这个方法的参数为一个整数,表示要将数组扁平化的层数。如果不指定参数,则默认将数组完全扁平化。
const arr = [1, [2, 3], [4, [5, 6]]]; console.log(arr.flat()); // [1, 2, 3, 4, 5, 6] console.log(arr.flat(1)); // [1, 2, 3, 4, [5, 6]] console.log(arr.flat(2)); // [1, 2, 3, 4, 5, 6]
flatMap
flatMap
方法是 map
和 flat
两个方法的组合。它对数组中的每个元素执行一个函数,然后将结果压缩成一个新数组。与 map
不同的是,flatMap
方法会将返回值扁平化。
const arr = [1, 2, 3]; console.log(arr.flatMap(x => [x * 2])); // [2, 4, 6]
Object.values/Object.entries
Object.values
方法返回一个对象自身可枚举属性的值的数组,Object.entries
方法返回一个对象自身可枚举属性的键值对数组。
const obj = { a: 1, b: 2, c: 3 }; console.log(Object.values(obj)); // [1, 2, 3] console.log(Object.entries(obj)); // [['a', 1], ['b', 2], ['c', 3]]
总结
ES7 中新增的数组方法,包括 includes
、flat
、flatMap
和 Object.values/Object.entries
,可以让我们更加方便地操作数组和对象。在实际开发中,我们可以根据自己的需要选择合适的方法来提高代码的效率和可读性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/657c3207d2f5e1655d6fbdda