【发布时间】:2020-10-01 04:33:08
【问题描述】:
我有一个函数如下,它遍历大量的 json 数据。
const findMakeAndModel = (make, model) => {
let foundMakeModel = false;
makeModel.map(value => {
if (value.makeCode === make.toUpperCase()) {
value.model.map(makeModel => {
if (makeModel.modelValue === `${make} - ${model}`) {
foundMakeModel = true;
}
})
}
});
return foundMakeModel
}
虽然它有效,但我希望时间减少它所花费的时间。我试图在if (makeModel.modelValue === ${make} - ${model}) 条件内返回,但不知何故它不起作用。任何帮助表示赞赏。
上面的 json 是我正在使用的,但实际的要大得多。这就是为什么遍历需要时间。
【问题讨论】:
-
如果您不使用返回值,请不要调用
map()。它创建一个新列表。如果您只想循环查看副作用,请使用forEach()。 -
正如@Barmar 提到的,使用
forEach()进行迭代。还要将make.toUpperCase()和${make} - ${model}移动到循环上方,以避免在每次迭代中调用。
标签: javascript json ecmascript-6