名称:ES6A中Array.of()与fill()介绍与使用
目录:
一、Array.of()介绍
1、目的
2、使用
二、fill()
1、介绍
2、使用
2.1.一个参数
2.2.两个参数
2.3.三个参数
字数:大约500字
一、Array.of()
1、介绍
Array.of()方法用于将一组值,转换为数组。
js
Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1
1、目的
弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异。
没有参数 得到空数组
js
Array() // []
一个参数 得到空数组
js
Array(0) // []
Array(1) // [''],
Array(2) // ['',''],
2+个参数 得到数组
js
Array(1,2) // [1,2],
Array(1,2,3) // [1,2,3],
2、使用
基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一。
js
Array.of() // []
Array.of(undefined) // [undefined]
Array.of(1) // [1]
Array.of(1, 2) // [1, 2]
Array.of()总是返回参数值组成的数组。如果没有参数,就返回一个空数组。
二、fill()
1、介绍
听名字意思就知道,填充意思。---> 填充一个数组。
2、使用
2.1、一个参数
js
[1, 2, 3, 4].fill(8)
// [8, 8, 8, 8]
new Array(4).fill(8)
// [8, 8, 8, 8]
可以发现:fill方法用于空数组的初始化非常方便。数组中已有的元素,会被全部抹去。
2.2、两个参数
js
[1, 2, 3, 4].fill(8,1)
// [1, 8, 8, 8]
[1, 2, 3, 4].fill(8,2)
// [1, 2, 8, 8]
[1, 2, 3, 4].fill(8,null)
// [8, 8, 8, 8]
可以发现:fill方法接受第二个参数,用于指定填充的起始位置。一直到末尾,填充为指定的内容。如果传传入的是非数字的,那它会自动转为number。falsey会转为0,所以数组都会被替换。
2.3、三个参数
js
[1, 2, 3, 4].fill(8,1,2)
// [1, 8, 3, 4]
[1, 2, 3, 4].fill(8,1,-1)
// [1, 8, 8, 4]
可以发现:fill方法第三个参数,用于指定填充的结束位置。从0开始,如果小于等于第二个参数并且大于负数,那就是不替换。如果是负数,则会倒序去填充