Nur*_*gin 1 javascript arrays search object key-value
我有一个对象如下;
FOO: {
BAR: [9,32,8,12 ],
ZET: 4,
BETA: [3,14,6,2],
ALPHA: 37
},
Run Code Online (Sandbox Code Playgroud)
我需要搜索此对象的值以匹配值keys.有大量的样本给出keys了一个奇异的值,但我找不到任何能够搜索数组中的值的样本.
我怎样才能搜索整个FOO对象的值并与之匹配keys?
注:目的; 我会寻找一个输入,如果给定输入,2则期望获得密钥BETA或者如果给定输入4则ZET.
所以基本上这些值已经是一些预先定义的唯一值.
你可以获得密钥,创建一个值数组并检查includes.返回找到的密钥.
function find(object, value) {
return Object
.keys(object)
.find(k => [].concat(object[k]).includes(value));
}
var object = { FOO: { BAR: [9, 32, 8, 12], ZET: 4, BETA: [3, 14, 6, 2], ALPHA: 37 } };
console.log(find(object.FOO, 4));
console.log(find(object.FOO, 8));Run Code Online (Sandbox Code Playgroud)