次の JSON ファイルがあります: http://pastebin.com/1TguvZXc
重複した「本文」は、配列をトラバースすることで配列内で見つけることができます。
models[x].years[y].styles[z].submodel.body
言い換えると:
models[0].years[0].styles[0].submodel.body
次の重複をチェックする必要があります。
models[0].years[0].styles[1].submodel.body
models[0].years[0].styles[2].submodel.body
models[0].years[0].styles[n].submodel.body
残りのデータは私には役に立ちません。
次のパイプがあります。
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterByCategory'
})
export class FilterByCategoryPipe implements PipeTransform {
transform(input: any , search: string): any[] {
if (input === undefined || input.length === 0) {
return input;
}
const filteredArr: Array<any> = JSON.parse(JSON.stringify(input));
for (const model of filteredArr) {
for (const year of model.years) {
year.styles = year.styles.filter(style => {
return style.submodel.body === search;
});
}
}
return filteredArr;
}
}
スタイル配列のいずれかに「submodel.body」の値が存在するかどうかをチェックする追加の「テスト」を .filter 関数に追加するにはどうすればよいですか?