给定一个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 (i = 0; i < data.length; i++) {
if (chars.indexOf(data[i].item) != -1) {
// Do something
} else {
// Do something else
}
}
但是,如果
chars
大,我将创建一个对象,其键是chars
的元素,并使用if (chars_obj[data[i].item])
。这比每次搜索数组都更有效。
关于javascript - 如何简化嵌套循环和条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17767341/