Javascript オブジェクトとマップ間の変換

マップとオブジェクトの簡単な区別

MapはES6で廃止された型 特徴:任意の値をプロパティ名として使用可能

オブジェクトの特徴: 属性名は文字列のみにすることができます (最初は信じられませんでしたが、テスト後にわかりました)

コード 写真
オブジェクトのプロパティ名には文字列タイプのコードのみを使用できます ここに画像の説明を挿入

マップタイプを作成する

new Map([
	[key, value],
	[key1, value1]
])

以下の2つの方法を簡単に紹介します

オブジェクトタイプからマップタイプへ

ここでは主に Object.entries の特性が使用されます。Object.entries
は、配列の最初の値がキー、2 番目の値が値である 2 次元配列を返します。

const obj = {
    
    
  a: '我是obj.a',
  b: '我是obj.b',
  c: '我是obj.c',
}
console.log(obj)
const map = new Map(Object.entries(obj))
console.log(map)
console.log(map.get('a'), '我是map 属性名')
console.log(map.get('b'), '我是map 属性名')

ここに画像の説明を挿入

型をオブジェクト型にマップする

const arr = [1, 2, 3],
  obj = {
    
     a: '1', b: 2 },
  number = 22
const map = new Map()
map.set(arr, '我是map的第1个值,我是数组')
map.set(obj, '我是map的第2个值,我是对象')
map.set(number, '我是map的第3个值, 我是简单数据类型')
const newObj = Object.fromEntries(map.entries())
console.log(newObj, '我是新对象')
console.log('新对象类型', typeof newObj)

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_46112649/article/details/126038160