之前的es6 教程中有說過一句**實現陣列去重的方法(
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)
ES6 陣列和物件
先列乙個要學習內容的大綱,慢慢補齊。es5 中新增的方法 forwhile arr.foreach 迴圈遍歷陣列中的每一位 arr.map 迴圈遍歷陣列中的每一位,並返回乙個新陣列 arr.filter 迴圈遍歷陣列中的每一位,並過濾一些不合要求的元素。arr.some 查詢陣列中符合條件的元素,返...
es6 陣列與物件解構賦值
問題 從陣列或物件中提取資訊 傳統方法 let obj letname obj name let age obj.age varible1,varible2,variblen array let arr 1 2,3 let a arr 0 傳統方法 let b arr 1 let c arr 2 l...
ES6物件導向
前言 在es5中,對於物件沒有統一規定的寫法,我們只能以函式的形式來寫乙個物件。而在es6語法中,我們有了class,constructor,extends,supper 等關鍵字來實現物件導向。下面將介紹es6物件導向的使用 class person 類的方法 showname 使用new關鍵字建...