一、Array.from()
作用:把类数组(获取一组元素、arguments)对象转成数组
个人观点是:有length这个东西的,就可以转
适用场景:
1.比如获取的元素DOM集合(获取一组元素)
eg:
<ul>
<li>1111</li>
<li>2222</li>
<li>3333</li>
</ul>
let ali = document.querySelectAll('ul li')
let arrli = Array.from(ali)
console.log(arrli)
原本的获取到的ali是不能进行数组操作的,比如pop,push等操作,转换成数组后的arrli就可以进行数组的常规操作
2.arguments
function show (){
let args = arguments
console.log(args)
}
show(1,2,3,4,5)
这样打印出来的是:1,2,3,4,5
function show (){
let args = Array.from(arguments)
console.log(args)
}
show(1,2,3,4,5)
使用Array.from()后,得到就是将参数转化为数组的结果[1,2,3,4,5]
3.把字符串转化成数组
let str = 'string'
let arr = Array.from(str)
console.log(arr)
结果就是arr=['s','t','r','i','n','g']
4.json,必须有长度才可以转
let json ={
0:'aaa',
1:'bbb',
2:'ccc',
}
let arr = Array.from(json)
console.log(arr)
//无法转
let json ={
0:'aaa',
1:'bbb',
2:'ccc',
length:3
}
let arr = Array.from(json)
console.log(arr)
//可转