把 Array-like-object 變成 Array

感覺是該學會的小技巧。

簡述

我們熟悉的 StringargumentsNodelistHTMLCollection 這些東西,雖然都可以用:

1
2
3
4
String[0]
arguments[0]
Nodelist[0]
HTMLCollection[0]

來存取他們,但它們都是「Array-like-object」,不是真的 Array,所以不能用 Array 的內建方法。

如果真的想要用的話怎麼辦?試試看下面的做法吧!

Array.from

1
2
3
4
const string = 'I am PeaNu'
const array = Array.from(string)
console.log(array) // ['I', ' ', 'a', 'm', ' ', 'P', 'e', 'a', 'N', 'u']
console.log(Array.isArray(array)) // true

ES6 的展開運算子 …

1
2
3
4
const string = 'I am PeaNu'
const array = [...string]
console.log(array) // ['I', ' ', 'a', 'm', ' ', 'P', 'e', 'a', 'N', 'u']
console.log(Array.isArray(array)) // true
mentor-program-day39 把 Object 的 value 抽出來變成 Array
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×