javascript - Wie erhält ein Js-Objekt den Schlüsselwert durch den Wertwert?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-30 09:58:56
0
6
973

Im Allgemeinen kann der Wert über obj.key abgerufen werden, aber was soll ich tun, wenn ich das Gegenteil tun möchte?

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

Antworte allen(6)
大家讲道理

keyvalue的映射是单向的,并且value并不具有唯一性。
所以由key拿到value是没有问题的,但是反之则不行。

过去多啦不再A梦

for...in循环对象判断获取?

我想大声告诉你

我有个笨方法

遍历对象,判断当前对象的 value 是否等于要查的值,如果匹配到输出key

世界只因有你

输出 value 并不是唯一的,通过 value 拿到可以不行 。

三叔

参考一下,如果用 lodash 可以直接用 _.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
刘奇

能循环拿吗?$.each这样拿出来

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage