( 1 )Array.from()
Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
语法:
Array.from(arrayLike[, mapFn[, thisArg]])
- arrayLike
想要转换成数组的伪数组对象或可迭代对象。 - mapFn 可选
如果指定了该参数,新数组中的每个元素会执行该回调函数。 - thisArg 可选
可选参数,执行回调函数 mapFn 时 this 对象。
console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]
console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]
( 2 ) 用Array.prototype.slice.call(elems)方法转化为数组 或 [].slice.call(elems)
//hdList转化为数组并用list变量接收
let list = Array.prototype.slice.call(hdList);
//添加点击事件
list.forEach((current,index) => {
current.addEventListener('click',() => {
animationFn(index);
},false);
});
(3)用[ …elems ]方法转化为数组
let list = [...hdList];//用[ ...elems ]方法转化为数组并用list接收
(4)用Array.prototype.forEach.call(elem,callback)方法
//直接对hdList集合进行循环或者map等
Array.prototype.forEach.call(hdList,function(){
//...
})
Array.prototype.map.call(hdList,function(){
//...
})