Ионный, как сопоставить слово в массиве

#angular #ionic-framework #ionic3

#угловатый #ионный каркас #ionic3 #angular #ионный-фреймворк

Вопрос:

У меня есть policy_id в моем приложении и список массивов, в которых несколько policy_no находятся в массиве. Мне нужно показать данные policy_no из массива, который у меня есть. введите описание изображения здесь

введите описание изображения здесь Я прикрепляю изображение , которое мне нужно , чтобы сопоставить policy_id с plicy_no в массиве и показать только этот результат массива .

       this.policy_id = this.navParams.get('y'); // here is policy id
      console.log(this.policy_id);
      this.policies = this.navParams.get('z'); // here the policies array 
      console.log(this.policies);
  

Комментарии:

1. я добавляю изображения данных на первом рисунке, где есть policy_no, мне нужны только данные этого policy_id, как показано на втором изображении

2. перебирайте оба массива.

Ответ №1:

Из MDN:

Метод find() возвращает значение в массиве, если элемент в массиве удовлетворяет предоставленной функции тестирования. В противном случае возвращается undefined.

  const police_id="abc";
 let res = policies.find(x => x.policy_no === police_id);
  

Ответ №2:

 getRelatedPolicies(policy_id, policies) {
    return policies.filter(policy => policy.policy_no === policy_id);
}
  

Комментарии:

1. спасибо за ответ. но у меня есть policy_id (он не получен из массива. его строка) также обновил мой код. итак, я хочу сопоставить policy_id с массивом policies, в котором policy_no находится в массиве.

2. Изменил мой ответ, проверьте сейчас

3. Итак, вы изменили свой код, чтобы он был идентичен коду, который я опубликовал три часа назад?

4. @RemiSture Вы говорите о функции фильтрации MDN? Вы обвиняете меня в этом? И только из-за этого вы отклонили мой ответ? Вместо того, чтобы просто думать о получении числовой репутации, попытайтесь понять, почему мой ответ был принят, хотя вы опубликовали что-то подобное до меня. Все дело в конкретном решении для данной проблемы. Надеюсь, вы поймете 🙂

5. Моя реакция основана на том, что ваш первоначальный ответ примерно на 95% отличался от вашего текущего ответа (который, опять же, как ни странно, в значительной степени идентичен паре других ответов здесь :))

Ответ №3:

Вы можете фильтровать свой массив следующим образом:

 const policy_id = 'xxx';
const policies = [{ policy_no: 'xxx'}, { policy_no: 'yyy'}]
console.log(policies.filter((p) => p.policy_no === policy_id));
  

Комментарии:

1. когда я утешаю yourPolicy, он показывает мне пустой массив. также обновил мой код в вопросе о том, как я получу массив policy_id и policies. Спасибо

2. Обновил мой пример.

3. в консоли просто отображается policy_no . не данные с policy_no. Я добавляю код, подобный этому const policy_id = this.policy_id; const policies = [{ policy_no: this.policy_id}] console.log(политики. filter((политики) => policies.policy_no === policy_id));

4. policies предполагается, что это ваш policies массив. Мой код — это всего лишь пример кода, иллюстрирующий, что вам нужно сделать. Конечно, было бы намного проще помочь вам, если бы вы опубликовали код вместо изображений кода.