javascript - 如果其中一个对象仅包含字符串的一部分,如何 checkin 对象数组?

标签 javascript arrays typescript

如果其中一个对象仅包含字符串的一部分,如何 checkin 对象数组?

products = [
{id: 'pdc', code: '123456', name: 'pompa'},
{id: 'kbr', code: '2365', name: 'kit kbr'},
{id: 'boiler', code: '23165', name: 'VPB'}
];

假设我想查找 this.products 是否包含带有 'kbr' 的对象?而且,正如您所看到的,该对象有一个更长的名称..类似于:

const matches = this.products.filter(s => s.includes('kbr')); 

谢谢!

最佳答案

您需要对象的值,然后进行迭代,直到找到匹配项。

var products = [{ id: 'pdc', code: '123456', name: 'pompa' }, { id: 'kbr', code: '2365', name: 'kit kbr' }, { id: 'boiler', code: '23165', name: 'VPB' }],
    matches = this.products.filter(o => 
        Object.values(o).some(v => v.toString().includes('kbr'))); 
 
console.log(matches);

关于javascript - 如果其中一个对象仅包含字符串的一部分,如何 checkin 对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54238453/

相关文章:

javascript - SVG - 如何将 <path> 切成两半?

javascript - HTML Canvas 动画无法在移动设备上运行

来自 mysql assoc 的 PHP 数组

java - 为什么我的 Jersey ClientResponse 不为空,但可用返回 0?

javascript - 类型 'subscribe' 上不存在属性 'void'。 Angular 2 ASP.NET 核心

javascript - 如何逐行在文档中的所有复选框中扩展我的功能?

javascript - 无法交换模型集合属性?

arrays - glVertexAttribPointer状态是否绑定(bind)到当前的GL_ARRAY_BUFFER?

javascript - Angular 8 : Array . map() .slice() 没有函数

reactjs - Typescript 接口(interface)扩展了 React.FC