【发布时间】:2017-06-21 01:57:38
【问题描述】:
我正在努力弄清楚如何使用角管根据另一个对象数组过滤一组对象。到目前为止,我所拥有的是一个基于单个参数进行过滤的管道。
我有 2 个数组,array1 和数组 2,它们都包含复杂的对象。过滤后的数组 (array1) 应该只包含 array1.value === array2.value
的对象到目前为止我的代码:
import { Injectable, Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'arrayFilter'
})
@Injectable()
export class AttributeFilterPipe implements PipeTransform {
transform(array: any[], filterFrom: any[]): any {
return array.filter(item => item.value.indexOf(filterFrom[0].value) !== -1);
}
}
【问题讨论】:
-
过滤后的数组 (array1) 应该只包含 array1.value === array2.value 的对象 - 比较同一索引处的对象?还是 array1 应该只包含在数组 2 中的对象?
-
array1 应该只包含 array2 中的对象。应该在 array1[i].value === array2[i].value 上进行比较
标签: arrays angular typescript lambda filter