アレイ、セット、地図、オブジェクトの学習の概要

アレイとセットコントラスト

容器は、2つの交換可能とすることができる、多値メモリであるが、シナリオの使用に違いがあります。次のとおりです。
  • メソッドIndexOfアレーの方法はセットより低い効率を有します
  • セットは、重複する値が含まれていない(アレイ重みのこの特性を用いて実現されます)
  • 唯一のスプライスてdeleteメソッドによって、値、およびアレイを削除する設定してください。旧良く両方の使いやすさ
  • マップの多くの新しい方法アレイ、フィルタ、いくつかは、すべての、などの設定ではありません(ただし、両方交換で使用することができます)

一連の操作セット(WeakSet

let set = new Set()
// Set转化为数组
let arr = Array.from(set)
let arr = [...set]
// 实例属性(继承自Set)
set.constructor === Set 
set.size 
// 操作方法
set.add(1) // 添加一个值
set.delete(1) //删除一个值
set.has(1) //判断是否有这个值(Array中的indexOf)
set.clear() //清除所有值
// 获取用于遍历的成员方法(Set的遍历顺序就是插入顺序)
set.keys() // 返回键名的遍历器
set.values() // 返回键值得遍历器
set.entries() // 返回键值对的遍历器
set.forEach() // 循环遍历每个值(和Array的方法一致)
for (let key of set.keys()){}
for (let val of set.values()){}
for (let entry of set.entries()){}
// 使用数组方法来处理set值
set = new Set(arr)
set = new Set([...set].map((x) => x = x * 2))
set = new Set([...set].filter((x) => x > 2))

オブジェクト・マップとは対照的

オブジェクトが文字列である - 値、地図値である - 値
  • 文字列型のオブジェクトキー、任意のタイプの結合の地図
  • オブジェクトのサイズを手動で計算し、Map.sizeサイズを得ることができます
  • 地図のソート順が挿入されています
  • オブジェクトのプロトタイプを持っているので、キーのいくつかのデフォルトのマッピングがあります。これは、地図= Object.create(ヌル)として理解することができます

収集方法の地図

let map = new Map()
// 实例属性(继承自Map)
map.constructor === Map
map.size
// 操作方法
map.set(1,2)
map.get(1)
map.delete(1)
map.has(1)
map.clear()
// 遍历方法
map.keys()
map.values()
map.entries()
map.forEach()
// Map和数组的转换
map = new Map([['key','val'],[2,1]]) // 要求双成员数组
let arr = [...map]
// 值得注意的是Map的键是跟内存绑定的
map.set([1], 's')
map.get([1])
let arr = [1]
let arr1 = [1]
map.set(arr, 's')
map.get(arr)
map.set(arr1, 's')
map.get(arr1)

参考資料

アレイ
の設定や地図
の設定や地図ルアンYifengチュートリアル

おすすめ

転載: www.cnblogs.com/jlfw/p/11966015.html