ES6 数组操作之Array.from()

44 阅读1分钟

 一、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)
//可转