Distinction simple entre la carte et l'objet
Map est un type sorti par ES6. Fonctionnalités : n'importe quelle valeur peut être utilisée comme nom de propriété
Caractéristiques des objets : les noms d'attributs ne peuvent être que des chaînes (je n'y croyais pas au début, mais je l'ai découvert après les tests)
le code | image |
---|---|
Créer un type de carte
new Map([
[key, value],
[key1, value1]
])
Présentez brièvement les deux méthodes suivantes
- La méthode Object.entries() renvoie un tableau dont les membres sont des paires clé-valeur de toutes les propriétés traversables (énumérables) de l'objet paramètre lui-même (à l'exception de celles héritées).
- La méthode Object.fromEntries() est l'opération inverse de Object.entries() , qui est utilisée pour convertir un tableau de paires clé-valeur en un objet.
Type d'objet vers type de carte
Les caractéristiques de Object.entries sont principalement utilisées ici.
Object.entries renvoie un tableau à deux dimensions, dans lequel la première valeur du tableau est la clé et la seconde valeur est la valeur
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 属性名')
Mapper le type sur le type d'objet
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)