如何使用 find 在 javascript 数组中搜索元素?
const array = [{
"key1": "val1",
"key2": "val2",
"key3": "val3",
"key4": "val4",
"key5": "val5",
},
{
"key1": "val6",
"key2": "val7",
"key3": "val8",
"key4": "val9",
"key5": "val10"
}]
我想搜索值searchvalue
。我假设它将匹配 val1
,如果是这样,我想获得 key5
:
array.find((element) => element.key1 === searchvalue).key5)
但是如果没有匹配的element.key1 === searchvalue
,那么我想搜索key2
并找到结果的key6:
array.find((element) => element.key2 === searchvalue).key5)
到目前为止我所做的是:
var arrayElement = array.find((element) => element.key1 ===
searchvalue)
const value = (arrayElement !== undefined ) ? arrayElement.key5: array.find((element) => element.key2 ===
searchvalue).key6;
最佳答案
您可以链接查找对象并从中获取值的尝试。
var array = [{ key1: "val1", key2: "val2", key3: "val3", key4: "val4", key5: "val5" }, { key1: "val6", key2: "val7", key3: "val8", key4: "val9", key5: "val10" }],
searchvalue = "val7",
result =
(array.find(o => o.key1 === searchvalue) || {}).key5 ||
(array.find(o => o.key2 === searchvalue) || {}).key4;
console.log(result);
关于javascript - 使用 array.find() 在 javascript 数组中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57969255/