数组扩展新增如下API
1、 of
Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型
语法:Array.of(element0[, element1[, ...[, elementN]]])
参数:任意个参数,将按顺序成为返回数组中的元素。
返回值:新的Array实例
2、 from
Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组实例
语法:Array.from(arrayLike[, mapFn[, thisArg]])
参数:
arrayLike:想要转换成数组的伪数组对象或可迭代对象。
mapFn (可选参数):如果指定了该参数,新数组中的每个元素会执行该回调函数。
thisArg (可选参数):可选参数,执行回调函数 mapFn 时 this 对象
返回值:新的Array实例
3、 fill
Array.prototype.fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
语法:arr.fill(value[, start[, end]])
参数:
value:用来填充数组元素的值。
start 可选:起始索引,默认值为0。
end 可选:终止索引,默认值为 this.length。
返回值:修改后的数组 影响老数组
4、 keys
Array.prototype.keys() 方法返回一个新的包含数组中每个索引键的Array Iterator对象
语法:arr. keys ()
参数:无
返回值:一个新的 Array 迭代器对象
5、 values
Array.prototype.values() 方法返回一个新的 包含数组每个索引的值Array Iterator 对象
语法:arr. values ()
参数:
无
返回值:
一个新的 Array 迭代器对象
6、 entries
Array.prototype.entries() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。
语法:arr. entries ()
参数:无
返回值:一个新的 Array 迭代器对象
7、 includes
Array.prototype.includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false
语法:arr.includes(searchElement, fromIndex)
参数:
searchElement:需要查找的元素值。
fromIndex 可选:从该索引处开始查找 searchElement。默认为 0。
返回值:一个布尔值
8、代码示例:
<body>
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
</body>
<script>
let arr = Array.of(1,2,3);
console.log(arr);
let liNodes = document.querySelectorAll("li");
let liArr = Array.from(liNodes);
liArr.map((item)=>{
console.log(item)
})
let arr3 = [1,2,3,4];
arr3.fill(0,0,3);
console.log(arr3);
let arr4 = ["a","b","c","d"];
for (let item of arr4.entries()){
console.log(item)
}
console.log( arr4.includes("aa"))
</script>