javascript - 使用javascript在对象数组中查找值

标签 javascript arrays object

鉴于以下情况:

var myArray = [
  { 
    id: "3283267",
    innerArray: ["434","6565","343","3665"]
  },
  {
    id: "9747439",
    innerArray: ["3434","38493","4308403840","34343"]
  },
  {
    id: "0849374",
    innerArray: ["343434","57575","389843","38493"]
  }
];

我如何搜索 myArray 中的对象以确定字符串“38493”是否存在于 innerArray 中,然后返回一个包含对象 ID 的新数组....像这样:

var arrayWithIds = ["9747439", "0849374"];

最佳答案

使用 Array.forEachArray.indexOf 函数的简单解决方案:

var search =  "38493", 
    result = [];

myArray.forEach(function(o) {
     if (o.innerArray.indexOf(search) !== -1) this.push(o.id);   
}, result);

console.log(result);  // ["9747439", "0849374"]

关于javascript - 使用javascript在对象数组中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516829/

相关文章:

arrays - Swagger 的对象数组

javascript - 是否可以将ace编辑器的垂直滚动条放在左侧?

arrays - 将结构转换为字节数组并返回 Rust

c# - 如何将货币列表从 openexchangerates.org 反序列化为 C# 自定义类或对象?

java - 遍历二维 Java 数组

javascript - 在数组中存储 Highcharts 问题

java - 如何为 HttpServletRequest 接口(interface)创建对象?

javascript - 为什么不先移动鼠标就无法滚动视差?

javascript - 将事件从子元素复制到不同的 div

javascript - 启用当前页面链接的materializecss分页