ES6 (陣列與物件)

2022-06-25 14:12:12 字數 790 閱讀 5599

之前的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關鍵字建...