ホームページ > ウェブフロントエンド > jsチュートリアル > ES6 での Map の使い方の紹介 (コード例)

ES6 での Map の使い方の紹介 (コード例)

不言
リリース: 2018-11-14 16:16:59
転載
4359 人が閲覧しました

この記事では、ES6 での Map の使用法 (コード例) を紹介します。必要な方は参考にしていただければ幸いです。

概要

Mapも実はjsではよく使われるデータ構造で、例えば以下のようなオブジェクトを使うことが多いです。はオブジェクトであり、実際には Map に似ていますが、実際の Map と比較すると、これはまだ少し弱いです。

let color={
    "red":"#FF0000",
    "green":"#00FF00",
    "blue":"#0000FFF"
}
color['red']
ログイン後にコピー

Initialization

new Map([iterable])
ログイン後にコピー

Map の初期化にはオプションのパラメータがあります。反復可能なオブジェクトである必要があります。反復可能なオブジェクトには、文字列、配列、配列のようなオブジェクト (引数、ノードリスト)、型付き配列、セット、マップ、およびユーザー定義の反復可能なオブジェクトが含まれます。

Array

new Map([[1,2],[3,4]]) // Map(2) {1 => 2, 3 => 4}
ログイン後にコピー

Add

Map としてのオブジェクトと比較すると、Map のキーは任意の値 (NaN

var myMap = new Map();
var keyObj = {},
    keyFunc = function () {},
    keyString = "a string";
// 添加键
myMap.set(keyString, "和键'a string'关联的值");
myMap.set(keyObj, "和键keyObj关联的值");
myMap.set(keyFunc, "和键keyFunc关联的值");
ログイン後にコピー

Get## であっても) にすることができます。 #Map のサイズ
myMap.size    // 3
ログイン後にコピー

Get

myMap.get(keyString)   // "和键'a string'关联的值"
myMap.get(keyObj)     // "和键keyObj关联的值"
myMap.get(keyFunc)      // "和键keyFunc关联的值"
ログイン後にコピー

含まれるかどうか

myMap.has(keyString)  // true
myMap.has('1')  // false
ログイン後にコピー

削除

myMap.delete(keyString)  // true
myMap.delete('')  // false
ログイン後にコピー

Traverse

myMap.forEach(m=>{console.log(m)})
// 和键'a string'关联的值
//  和键keyObj关联的值
//  和键keyFunc关联的值
ログイン後にコピー

Getイテレータ

let entries=myMap.entries()
entries.next().value // 和键'a string'关联的值
entries.next().value//  和键keyObj关联的值
entries.next().value//   和键keyFunc关联的值
ログイン後にコピー

Get key iterator

let keys=myMap.keys()
keys.next().value //  "a string"
keys.next().value//  function () {}
keys.next().value//   {}
ログイン後にコピー

Get value iterator

let values=myMap.values()
values.next().value // 和键'a string'关联的值
values.next().value//  和键keyObj关联的值
values.next().value//   和键keyFunc关联的值
ログイン後にコピー

Clear

mySet.clear()
ログイン後にコピー


以上がES6 での Map の使い方の紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート