国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ES6中 Map 數據結構

hlcfan / 2610人閱讀

摘要:新增了數據結構,對象保存鍵值對,任何值原始值或對象都可以作為一個鍵或一個值。基本用法實例的屬性和操作方法方法設置鍵名對應的鍵值為,然后返回整個結構。獲取的值方法返回一個布爾值,表示某個鍵是否在當前對象之中。如果刪除失敗,返回。

ES6新增了 Map數據結構,Map對象保存鍵值對,任何值(原始值或對象)都可以作為一個鍵或一個值。

基本用法
let map = new Map();
let obj = {
    name: "Leon",
    sex: "male"
};
map.set(obj,"myObject");
map.get(obj); // "myObject"
map.has(obj) //true
map.delete(obj) //true
map.has(obj) // false
實例的屬性和操作方法

set(key,value):

set方法設置鍵名key對應的鍵值為value,然后返回整個 Map 結構。

let map = new Map();
map.set("dsssffffdffffdddsdsdsdssfw",8);
map.set({a:1},"ddsdsds");

get(key):

獲取key的值

map.get("dsssffffdffffdddsdsdsdssfw")//8

has(key)

has方法返回一個布爾值,表示某個鍵是否在當前 Map 對象之中。

map.has("dsssffffdffffdddsdsdsdssfw"); //true

delete(key)

delete方法刪除某個鍵,返回true。如果刪除失敗,返回false。

map.delete("dsssffffdffffdddsdsdsdssfw");
map.has("dsssffffdffffdddsdsdsdssfw")//false

clear()
清空Map對象

map.size // 2
map.clear()
map.size // 0
遍歷方法
方法 作用
keys() 返回鍵名的遍歷器
values() 返回鍵值的遍歷器
entries() 返回所有成員的遍歷器
forEach() 遍歷 Map 的所有成員
const map = new Map([
  ["F", "no"],
  ["T",  "yes"],
]);

for (let key of map.keys()) {
  console.log(key);
}
// "F"
// "T"

for (let value of map.values()) {
  console.log(value);
}
// "no"
// "yes"

for (let item of map.entries()) {
  console.log(item[0], item[1]);
}
// "F" "no"
// "T" "yes"

// 或者
for (let [key, value] of map.entries()) {
  console.log(key, value);
}
// "F" "no"
// "T" "yes"

// 等同于使用map.entries()
for (let [key, value] of map) {
  console.log(key, value);
}
// "F" "no"
// "T" "yes"
與其他數據結構的互相轉換

Map轉為數組

const myMap = new Map()
  .set(true, 7)
  .set({foo: 3}, ["abc"]);
[...myMap]
// [ [ true, 7 ], [ { foo: 3 }, [ "abc" ] ] ]

數組 轉為 Map

new Map([
  [true, 7],
  [{foo: 3}, ["abc"]]
])

Map 轉為對象

function strMapToObj(strMap) {
  let obj = Object.create(null);
  for (let [k,v] of strMap) {
    obj[k] = v;
  }
  return obj;
}

const myMap = new Map()
  .set("yes", true)
  .set("no", false);
strMapToObj(myMap)

對象轉為 Map

function objToStrMap(obj) {
  let strMap = new Map();
  for (let k of Object.keys(obj)) {
    strMap.set(k, obj[k]);
  }
  return strMap;
}

objToStrMap({yes: true, no: false})

參考:
http://es6.ruanyifeng.com/#docs/set-map#Map

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98069.html

相關文章

  • 深入理解ES6筆記(七)Set集合和Map集合

    摘要:創建并添加項目可以使用數組來初始化一個,并且構造器會確保不重復地使用這些值使用方法來測試某個值是否存在于中移除值使用方法來移除單個值,或調用方法來將所有值從中移除。屬性的初始化將數組傳遞給構造器,以便使用數據來初始化一個。 主要知識點:Set的基本操作,Weak Set,Map的基本操作,Weak MapshowImg(https://segmentfault.com/img/bVbf...

    loostudy 評論0 收藏0
  • 學習ES6筆記──工作常用到的ES6語法

    摘要:但是有了尾調用優化之后,遞歸函數的性能有了提升。常被用來檢查對象中是否存在某個鍵名,集合常被用來獲取已存的信息。循環解構對象本身不支持迭代,但是我們可以自己添加一個生成器,返回一個,的迭代器,然后使用循環解構和。 一、let和const 在JavaScript中咱們以前主要用關鍵var來定義變量,ES6之后,新增了定義變量的兩個關鍵字,分別是let和const。對于變量來說,在ES5中...

    curried 評論0 收藏0
  • 深入理解:ES6的Set和Map數據結構Map與其它數據結構的互相轉換

    摘要:學習筆記工作中常用到的語法只是簡單提及和,今天有空于是寫了這篇文章深入理解中的和數據結構,與其它數據結構的互相轉換。的提供了新的數據結構。本身是一個構造函數,用來生成數據結構。 文中的內容主要是來自于阮一峰的《ES6標準入門》(第三版)。《學習ES6筆記──工作中常用到的ES6語法》只是簡單提及Set和Map,今天有空于是寫了這篇文章──《深入理解:ES6中的Set和Map數據結構,M...

    Cristalven 評論0 收藏0
  • ES6引入的數據結構 - ES6 - ECMAScript特性 - Javascript核心

    摘要:引入的數據結構新加入的數據類型有這些數據結構的支持并不廣泛,在寫這篇文章的時候。是或其他可枚舉的對象,其每個元素是的元數組。開頭的和不對持有引用,不影響。因此,他們沒有辦法對自身的進行直接的枚舉。目前新版的和支持。 原文:http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_data_types.html 源代...

    fobnn 評論0 收藏0
  • 由codewars上的一道題目學習ES6Map

    摘要:我對數據結構的學習最近在上做了一道題目,嗯,我這個渣渣沒有做出來,然后看了別人的解決方案,是時候學習一下的了。。。。。讀取對應的鍵值,如果找不到返回鍵是函數返回一個布爾值,表示某個鍵是否在數據結構中。 我對ES6數據結構Map的學習 最近在CodeWars上做了一道題目,嗯,我這個渣渣沒有做出來,然后看了別人的解決方案,Map??? 是時候學習一下ES6的Map了。。。。。 以下是原題...

    IamDLY 評論0 收藏0

發表評論

0條評論

hlcfan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<