javascript - Comment un objet JS obtient-il la valeur clé via la valeur Value?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-30 09:58:56
0
6
950

Généralement, la valeur peut être obtenue via obj.key, mais si je veux faire l'inverse, que dois-je faire ?

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(6)
大家讲道理

Il n'y a aucun problème avec

keyvalue的映射是单向的,并且value并不具有唯一性。
所以由key拿到value, mais l'inverse n'est pas possible.

过去多啦不再A梦

for...inJugement et acquisition d'objets en boucle ?

我想大声告诉你

J'ai une méthode stupide

Parcourez l'objet et déterminez si la valeur de l'objet actuel est égale à la valeur à vérifier si elle correspond à la clé de sortie

.
世界只因有你

La valeur de sortie n'est pas unique. Elle peut être obtenue par valeur.

三叔

Pour référence, si vous utilisez du lodash, vous pouvez l'utiliser directement _.findKey

var data = {
  a: 1,
  b: 'string',
  c: {},
  d: {a: 98, b: 'str'}
}

function findKey (value, compare = (a, b) => a === b) {
  return Object.keys(data).find(k => compare(data[k], value))
}

var val = data.b
findKey(val) // b

// 自定义比较函数,比如结合 lodash 可以
findKey({a: 98, b: 'str'}, _.isEqual) // d
刘奇

Puis-je le recycler ? Sortez $.each comme ça

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal