es6数组 *** 作扩展

es6数组 *** 作扩展,第1张

扩展运算符:...将一个数组转为用逗号分隔的参数序列。

console.log(...[1, 2, 3])
// 1 2 3

将一个数组添加到另一个数组的尾部

let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
arr1.push(...arr2);

复制数组 :数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组。(浅拷贝)

const a1 = [1, 2];
// 写法一
const a2 = [...a1];
// 写法二
const [...a2] = a1;

合并数组

// ES5 的合并数组
arr1.concat(arr2, arr3);
// [ 'a', 'b', 'c', 'd', 'e' ]
// ES6 的合并数组
[...arr1, ...arr2, ...arr3]
// [ 'a', 'b', 'c', 'd', 'e' ]

字符串转数组:

[...'hello']
// [ "h", "e", "l", "l", "o" ]

Array.from 方法用于将两类对象转为真正的数组:

let arrayLike = {
    '0': 'a',
    '1': 'b',
    '2': 'c',
    length: 3
};
// ES5的写法
var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c']
// ES6的写法
let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']

 Array.of方法用于将一组值,转换为数组

Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1

copyWithin() 方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。

它接受三个参数。

target(必需):从该位置开始替换数据。如果为负值,表示倒数。start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示从末尾开始计算。end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示从末尾开始计算。 

这三个参数都应该是数值,如果不是,会自动转为数值。

ind() 和 findIndex()

数组实例的find方法,用于找出第一个符合条件的数组成员

 数组实例的 findIndex 方法的用法与 find 方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回 -1 。

[1, 4, -5, 10].find((n) => n < 0)
// -5

fill 方法使用给定值,填充一个数组。会覆盖以前的数据

new Array(3).fill(7)
// [7, 7, 7]

includes():方法返回一个布尔值,表示某个数组是否包含给定的值 

flat():用于将嵌套的数组“拉平”,多级数组使用flat(Infinity)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1296161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存