primeng:如何使用代码在selectItem数组中找到特定值

时间:2016-09-30 05:51:25

标签: primeng

请帮我解决如何在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”的项目。

1 个答案:

答案 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)
    }
});