请帮我解决如何在primeng SelectItem []数组中找到特定值。
我有selectItem数组,如下所示。
this.cities = [];
this.cities.push({label:'Select ', value:null});
this.cities.push({label:'New York', value:{id:1, name: 'New York', code: 'NY'}});
this.cities.push({label:'Rome', value:{id:2, name: 'Rome', code: 'RM'}});
this.cities.push({label:'London', value:{id:3, name: 'London', code: 'LDN'}});
this.cities.push({label:'Istanbul', value:{id:4, name: 'Istanbul', code: 'IST'}});
this.cities.push({label:'Paris', value:{id:5, name: 'Paris', code: 'PRS'}});
我想从上面的列表中找到特定项目({id:5,名称:'Paris',代码:'PRS'})。或者我只想找到代码为“PRS”的项目。
答案 0 :(得分:1)
您可以使用以下任何一种方法。但最好的方法是查找'。
查找值为{id:5,名称:'巴黎',代码:' PRS'}
的项目let obj = {id:5, name: 'Paris', code: 'PRS'};
var x = this.cities.find(item =>
JSON.stringify(item.value) === JSON.stringify(obj)
);
console.log(x);
OR
let obj = {id:5, name: 'Paris', code: 'PRS'};
this.cities.forEach((item,key) => {
if(item && JSON.stringify(item.value) === JSON.stringify(obj)) {
console.log("Item found at location : "+key)
}
});
使用代码' PRS'
查找该项目this.cities.forEach((item,key) => {
if(item && item.value != null && item.value.code == 'PRS') {
console.log("Item found at location : "+key)
}
});