Im Allgemeinen kann der Wert über obj.key abgerufen werden, aber was soll ich tun, wenn ich das Gegenteil tun möchte?
key到value的映射是单向的,并且value并不具有唯一性。 所以由key拿到value是没有问题的,但是反之则不行。
key
value
for...in循环对象判断获取?
for...in
我有个笨方法
遍历对象,判断当前对象的 value 是否等于要查的值,如果匹配到输出key
输出 value 并不是唯一的,通过 value 拿到可以不行 。
参考一下,如果用 lodash 可以直接用 _.findKey
_.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这样拿出来
key
到value
的映射是单向的,并且value
并不具有唯一性。所以由
key
拿到value
是没有问题的,但是反之则不行。for...in
循环对象判断获取?我有个笨方法
遍历对象,判断当前对象的 value 是否等于要查的值,如果匹配到输出key
输出 value 并不是唯一的,通过 value 拿到可以不行 。
参考一下,如果用 lodash 可以直接用
_.findKey
能循环拿吗?$.each这样拿出来