ES6 Set,Map

前情提要

for of =>可用在array,Set,Map返回value

for in =>可用在object,array,返回index(在array可能被擴充的情況下不建議使用)

forEach =>均可遍歷,但無法break離開遍歷(可用some或是every) http://www.jsnoob.com/2013/11/26/how-to-break-the-foreach/

如何遍歷object內的value?

var obj = { first: "John", last: "Doe" };
// Visit non-inherited enumerable keys
Object.keys(obj).forEach(function(key) {
    console.log(obj[key]);
});

第二種

Object.keys(this.state.users).map(function(objectKey, index) {
let value = objectKey;
return (
  <div>{value}</div>
)
})

ES6 的新數據結構Set Map

Set

可接受一個array來初始化,set類似array但每個成員的值不會相等,使用強型別

輸入set 將得到

Set 操作方法

1.

2.

Set的遍歷方法

想用array的操作方法來操作Set呢?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype

可將

將Set轉為arrray

實際使用

1.快速刪除array重複的元素

2.快速合併陣列,刪除重複元素

3.快速找到array中共同的元素(交集)

4.快速找到a陣列有但b陣列沒有的元素(差集)

Map

取得值

Map為了避免index衝突,須將index先指定給變數(除了數字,字串和boolean)

為undefined

Map的操作方法

Map的遍歷方法

實際使用

1.

2.

1.

1.

Last updated

Was this helpful?