ES6 - (數組與對象)


之前的es6 教程中有說過一句代碼實現數組去重的方法(http://www.cnblogs.com/lafitewu/p/8480055.html)

今天還給大家帶來一個新的去重方法:Set

const arr = [1,0,2,0,5,4,4,5,0,1]

let newArr = [...new Set([1,0,2,0,5,4,4,5,0,1])]

console.log(newArr)  // [1,0,2,5,4]

感覺這種方法更為簡潔。

說到這里,此處也碰到一個奇怪的問題。

console.log(typeof(newArr))  // object

what? ? ? 這是什么個情況?它不是應該打印出array么?

 

懵逼中...   10分鍾過去后,獨自折騰,終於

要想判斷一個類型是不是數組類型,可以用 console.log(Array.isArray(arr)) // true

這時突然想起,以前面試時,總有面試官會問,你如何判斷一個變量類型是數組還是對象啊? 我毫無防備的說 typeof ,嗯還是自己太年輕。

typeof 也可以,但是得這樣玩 console.log(typeof(arr.length))  // number ,之所以可以這樣判斷,是因為對象是沒有 length 這個屬性的, 你get了嗎?

最后new Set() 出來的是一個object 類型,這時候可以用 ... 或者 Array.from(newArr) 來轉化成數組類型。 ps: 這是es6 對象轉數組

es5:  [].slice.call(newArr2)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM