Учитывая JS следующим образом:Как упростить вложенные циклы и условия?
for (c in chars) {
for (i in data) {
if (data[i].item === chars[c]) {
// do my stuff;
}
else { /* do something else */}
}
}
и такие данные:
var chars = [ 'A', 'B', 'C', 'A', 'C' ];
var data = [
{'item':'A', 'rank': '1'},
{'item':'B', 'rank': '2'},
{'item':'C', 'rank': '3'}
// no duplicate
];
Есть более простой синтаксис, чтобы выразить, что вместо вложенных for
петли и внутренние условия?
Я пытаюсь совместить два набора данных, точнее использовать клавиши chars
для повторения итерации data
и определения значений.
Подождите, вы пытаетесь [перебирать массив с помощью 'for in'] (http://stackoverflow.com/a/17499001/1850609)? – acdcjunior
@acdcjunior Работает. Просто помните, что переменная итерации установлена на индексы, а не на значения (это не похоже на PHP 'foreach'). – Barmar
Я пытаюсь совместить два набора данных, точнее, использовать ключи 'chars' для итерации' data' и находить значения. – Hugolpz