У меня есть массив объектов региона, каждый из которых содержит массив стран.Я хочу вернуть регион, как только один из его кодов страны совпадет с предварительно заполненным this.isoCodes.code
.Текущий код использует вложенный цикл с перерывами, но он грязный.Ищите более чистое решение с ES6, если это возможно.Я знаю, что есть такие вещи, как .map
с .every
или .some
, но не уверен, что даст мне правильный результат.
Текущий рабочий код выглядит как
let result;
for (let i=0; i<regions.length; i++) {
for (let j=0; j<regions[i].countries.length; j++) {
let country = regions[i].countries[j];
if (country.iso2 === this.isoCodes.code || country.iso3 === this.isoCodes.code) {
result = regions[i];
break;
}
}
if (result) {
break;
}
}
if (result) {
this.region = result;
return result;
} else {
return false;
}