Поиск по объекту - PullRequest
       23

Поиск по объекту

0 голосов
/ 05 сентября 2018

У меня есть этот объект:

combineLatest( 
this.toppings.valueChanges.pipe(startWith(this.toppings.value)),
this.toppings2.valueChanges.pipe(startWith(this.toppings2.value)))
.subscribe(val => console.log(val))


(2) [Array(9), Array(2)]
0:(9) ["Douleur", "Psychologie", "Nutrition", "Social", "Rééducation physique", "Hygiène de vie", "Sexualité et fertilité", "Soins palliatifs", "Oncogériatrie"]

1:(2) ["CHU Nantes", "CH Le Mans"]

length:2
__proto__:Array(0)

Как я могу сделать условие, как? if ("CHU Nantes" is in the object val) или if ("Douleur" or "Psychologie" is in the object val), так что ...

Я пробую это в результатах:

if (val.includes("CHU Nantes")) { 
 CHUNantes.addTo(myfrugalmap);
} else { 
  CHUNantes.remove();
};
console.log(val);

1 Ответ

0 голосов
/ 05 сентября 2018

Вам нужно сгладить массив для поиска всех значений. Например: val.reduce((acc, val) => acc.concat(val), []).includes("CHU Nantes");

Для современного браузера вы также можете использовать Array.prototype.flat: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat#Browser_compatibility

...