javascript - 过滤内部数组javascript

标签 javascript arrays object filter

如果一个数组位于另一个数组内,如何过滤?

我应该如何循环这个?

var jobs = [
    {
        'id': '1',
        'departments': [{'name': 'Finance'}],
        'offices': [{'name': 'US'}, {'name': 'Brazil'}]
    },
    {
        'id': '1',
        'departments': [{'name': 'Finance'}],
        'offices': [{'name': 'Paris'}, {'name': 'China'}]
    }
];

var results = jobs.filter(function(o)) {
    return o.offices[0].name == 'US';
} // get office US;

jsFiddle Link

最佳答案

当您想按内部数组中可能存在的值过滤数组时,可以使用 Array#some在内部阵列上。如果数组中至少有一个元素满足条件,Array#some 方法将返回 true,并停止迭代。

var jobs = [{"id":"1","departments":[{"name":"Finance"}],"offices":[{"name":"US"},{"name":"Brazil"}]},{"id":"1","departments":[{"name":"Finance"}],"offices":[{"name":"Paris"},{"name":"China"}]}];

var jobsWithoutUs = jobs.filter(function(job) {
  return job.offices.some(function(office) {
    return office.name === 'US';
  });
});

console.log(jobsWithoutUs);

关于javascript - 过滤内部数组javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44883612/

相关文章:

javascript - 模拟 div 内的 href 的点击

javascript - 这是否被视为 POST 或 GET 请求?

arrays - Commodore 4.0 basic 中对字符串数组进行冒泡排序?

c++ - 在 C++ 中将一个对象添加到另一组对象

JavaScript 代码技巧 : What's the value of foo. x

python - 可以设置Python对象的任何属性

javascript - 如何处理 Bootstrap 工具提示中的长文本值?

javascript - 带有 FontAwesome 按钮的 jQuery Datepicker?

Java - Jackson反序列化 - 如何反序列化接口(interface)数组?

javascript - 有没有办法在点击时选择数组元素的索引?