Javascript 如果一个对象仅包含字符串的一部分,如何签入一个对象数组?
如果一个对象仅包含字符串的一部分,如何签入一个对象数组Javascript 如果一个对象仅包含字符串的一部分,如何签入一个对象数组?,javascript,arrays,typescript,Javascript,Arrays,Typescript,如果一个对象仅包含字符串的一部分,如何签入一个对象数组 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
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=>
一些(v=>v.toString()。包括('kbr'));
console.log(匹配项)代码>您需要对象的值,然后迭代直到找到匹配项
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=>
一些(v=>v.toString()。包括('kbr'));
console.log(匹配项)代码>您可以将所有值组合成一个字符串,并检查它是否包含以下内容:
const matches = this.products.filter(s => Object.values(s).join("¥").includes('kbr'));
您可以将所有值组合成一个字符串,并检查它是否包含以下内容:
const matches = this.products.filter(s => Object.values(s).join("¥").includes('kbr'));
你就快到了。您只需要访问对象“s”的“name”属性。在这个场景中,我经常快速访问“name”属性
const products=[{id:“pdc”,代码:“123456”,名称:“蓬帕”},{id:“kbr”,代码:“2365”,名称:“kit kbr”},{id:“锅炉”,代码:“23165”,名称:“VPB”}];
const res=products.filter(({name})=>name.includes(“kbr”);
控制台日志(res)代码>你就快到了。您只需要访问对象“s”的“name”属性。在这个场景中,我经常快速访问“name”属性
const products=[{id:“pdc”,代码:“123456”,名称:“蓬帕”},{id:“kbr”,代码:“2365”,名称:“kit kbr”},{id:“锅炉”,代码:“23165”,名称:“VPB”}];
const res=products.filter(({name})=>name.includes(“kbr”);
控制台日志(res)代码>在筛选函数中,您没有指定要检查的字段。
因此,如果要检查name属性,必须编写以下内容:
const matches = this.products.filter(s => s.name.includes('kbr'));
在filter函数中,您没有指定要检查的字段。
因此,如果要检查name属性,必须编写以下内容:
const matches = this.products.filter(s => s.name.includes('kbr'));
您可以在filter方法内部生成数组,并检查某些值是否与您正在搜索的字符串一致:
const产品=[
{id:'pdc',代码:'123456',名称:'pompa'},
{id:'kbr',代码:'2365',名称:'kit kbr'},
{id:'boiler',代码:'23165',名称:'VPB'}
];
让res=products.filter(o=>
{
返回Object.values(o).some(x=>(“”+x).match(“kbr”);
});
控制台日志(res)
您可以在filter方法内部生成字符串数组,并检查部分值是否与正在搜索的字符串一致:
const产品=[
{id:'pdc',代码:'123456',名称:'pompa'},
{id:'kbr',代码:'2365',名称:'kit kbr'},
{id:'boiler',代码:'23165',名称:'VPB'}
];
让res=products.filter(o=>
{
返回Object.values(o).some(x=>(“”+x).match(“kbr”);
});
控制台日志(res)代码>您可以对对象值进行字符串化,并查看它是否包含您要查找的子字符串:
const products=[{id:'pdc',code:'123456',name:'pompa'},{id:'kbr',code:'2365',name:'kit kbr'},{id:'boiler',code:'23165',name:'VPB'}];
const result=products.filter(prod=>
Object.values(prod.join(“”).includes('kbr');
console.log(result)
您可以对对象值进行字符串化,并查看它是否包含您要查找的子字符串:
const products=[{id:'pdc',code:'123456',name:'pompa'},{id:'kbr',code:'2365',name:'kit kbr'},{id:'boiler',code:'23165',name:'VPB'}];
const result=products.filter(prod=>
Object.values(prod.join(“”).includes('kbr');
console.log(result)
使用some
是一种更好的方法,它会在找到某个内容后立即停止。
对于较大的阵列,这将是一个改进:)
产品=[
{id:'pdc',代码:'123456',名称:'pompa'},
{id:'kbr',代码:'2365',名称:'kit kbr'},
{id:'boiler',代码:'23165',名称:'VPB'}
];
const result=products.some(product=>Object.keys(product).some(key=>product[key]。includes('kbr'))
console.log(result)
使用some
是一种更好的方法,它会在找到某个内容后立即停止。
对于较大的阵列,这将是一个改进:)
产品=[
{id:'pdc',代码:'123456',名称:'pompa'},
{id:'kbr',代码:'2365',名称:'kit kbr'},
{id:'boiler',代码:'23165',名称:'VPB'}
];
const result=products.some(product=>Object.keys(product).some(key=>product[key]。includes('kbr'))
console.log(result)
我将使用Array.find()函数,因为它在第一个匹配对象处停止:
const产品=[
{id:'pdc',代码:'123456',名称:'pompa'},
{id:'kbr',代码:'2365',名称:'kit kbr'},
{id:'boiler',代码:'23165',名称:'VPB'}
];
const testPattern='kbr';
const products contains=(产品、模式)=>
产品。查找(
({id,name})=>
id.indexOf(模式)>=0 | | name.indexOf(模式)>=0
) ? 真:假;
log(`productsContains'${testPattern}':`,productsContains(products,testPattern))代码>我将使用Array.find()函数,因为它在第一个匹配对象处停止:
const产品=[
{id:'pdc',代码:'123456',名称:'pompa'},
{id:'kbr',代码:'2365',名称:'kit kbr'},
{id:'boiler',代码:'23165',名称:'VPB'}
];
const testPattern='kbr';
const products contains=(产品、模式)=>
产品。查找(
({id,name})=>
id.indexOf(模式)>=0 | | name.indexOf(模式)>=0
) ? 真:假;
log(`productsContains'${testPattern}'):`,productsContains(produ