javascript - 使用 array.find() 在 javascript 数组中查找元素

标签 javascript arrays find

如何使用 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).k​​ey5)

但是如果没有匹配的element.key1 === searchvalue,那么我想搜索key2并找到结果的key6:

array.find((element) => element.key2 === searchvalue).k​​ey5)

到目前为止我所做的是:

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/

相关文章:

ruby-on-rails - 在 Ruby 中搜索数组的更好方法?

arrays - 在另一个数组中查找一个数组的值范围

javascript - jquery 模态中的 document.write( )

c# - 将数组的一部分复制到列表的快速方法?

javascript - 按数据属性对 HTML 元素排序

arrays - 给定 "source code"字符串列表,如何创建数组组合字符串?

javascript - 导致 Internet Explorer 8 崩溃的简单网页

javascript - Rails,使用 AJAX 创建对象

javascript - 在 Javascript 中制作函数式 OO 函数

linux - 查找:不使用 -printf 列出日期和大小