Angular2 typescript搜索从数组到对象数组的相同值。 我想要过滤的是object_array ['extraService']中存在的array_values中的任何值,如果存在返回对象。 这是Angular Pipe,用于为某些搜索功能重新生成模板。
let array_values = ["5", "4", "3"]
let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}]
return items.filter(item => items.array_values(f => f == item.extraService));
所以输出的一些例子。 如果array_values只是
let array_values = ["3"]
然后返回的输出将是:
result = [{'name': "Marin", extraService:[3, 4]}]
任何建议或示例如何管理此工作。
答案 0 :(得分:3)
let array_values = ["5", "4", "3"]
let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}];
let results = items.filter(item => {
const result = item.extraService.filter(extra => {
return array_values.indexOf(extra.toString()) !== -1;
});
if (result.length > 0) return true;
return false;
});
console.log(results);
您可以尝试这种方法:
let array_values = ["5", "4", "3"]
let items = [{'name': "Marin", extraService:[5, 4]}, {'name': "Marin", extraService:[3, 4]}];
return items.filter(item => {
const result = item.extraService.filter(extra => {
return array_values.indexOf(extra.toString()) !== -1;
});
if (result.length > 0) return true;
return false;
});