Как я могу отфильтровать эти данные JSON, используя ионную структуру? - PullRequest
0 голосов
/ 30 января 2019

С учетом следующих данных:

products = [
  {
    id : "123",
    price : "10.5",
    quantity : 1,
    category1 : "Catagort-1",
    category2 : " ",
    category3 : " "

  },
  {
    id : "133",
    price : "10.5",
    quantity : 1,
    category1 : " ",
    category2 : " ",
    category3 : "Catagory-3"

  },
  {
    id : "144",
    price : "7.00",
    quantity : 1,
    category1 : "Catagort-1",
    category2 : " ",
    category3 : " "
  },
  {
    id : "155",
    price : "11.5",
    quantity : 1,
    category1 : "",
    category2 : "Catagory-2",
    category3 : ""
  },
  {
    id : "166",
    price : "9.00",
    quantity : 1,
    category1 : " ",
    category2 : " ",
    category3 : "Catagory-3"
  },
  {
    id : "177",
    price : "8.5",
    quantity : 1,
    category1 : "",
    category2 : "Catagory-2",
    category3 : ""
  }
];

Я хочу отфильтровать вышеуказанные данные следующим образом:

  • С учетом трех массивов: cat1[], cat2[] и cat3[];
  • Сохранить все данные, которые имеют значение атрибута category1, в массив cat1.

Например:

cat1= [
 {
        id : "123",
        price : "10.5",
        quantity : 1,
        category1 : "Catagort-1",
        category2 : " ",
        category3 : " "

      },
 {
        id : "144",
        price : "7.00",
        quantity : 1,
        category1 : "Catagort-1",
        category2 : " ",
        category3 : " "
      },
]

1 Ответ

0 голосов
/ 30 января 2019

Метод 1

this.products.forEach(res=>{
  if(res.category1=='Catagory-1'){
    this.cat1.push(res);
  }
  else if(res.category2 == 'Catagory-2'){
    this.cat2.push(res);
  }else if(res.category3 == 'Catagory-3'){
    this.cat3.push(res);
  }
})

Метод 2

    this.cat1 = this.products.filter(res=>{
      return res.category1 == 'Catagory-1'
    });

    this.cat2 = this.products.filter(res=>{
      return res.category2 == 'Catagory-2'
    })

    this.cat3 = this.products.filter(res=>{
      return res.category3 == 'Catagory-3'
    });

Дополнительно, Вы можете проверить эту библиотеку https://lodash.com/docs/4.17.11, это дает вам широкий выбор функций для игры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...