0

次の 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 関数に追加するにはどうすればよいですか?

4

1 に答える 1