【发布时间】:2020-01-15 14:47:41
【问题描述】:
我需要获取数组 1 中的一个元素,并将其与数组 2 中的每个其他元素进行比较,以查看是否匹配。我需要对数组一中的每个元素执行此操作。
for ( let i = 0, j = userArray.length; i < j; i++) {
for ( let c = 0, d = userArray.length; c < d; c++) {
object = {
id: userArray[i].account,
name: userArray[i].name,
title: "",
rating: ""
}
if ( userArray[i].account === accountArray[c].id) {
object.title = accountArray[c].title.title
}
if (object.title !== ""){
objectArray.push(object)
}
}
}
有没有更有效的方法。
期望的结果是将 accountArray 的每个元素与 userArray 的每个单独元素进行比较以搜索匹配项
【问题讨论】:
-
看起来您的意思是让其中一个循环遍历
accountArray数组。考虑到用法,可能是内部循环。 -
它实际上在 if 语句中迭代了帐户数组,因为我只是在索引中使用计数器! :)
-
内层循环会根据
userArray的长度继续,貌似是不正确的。如果数组的长度不同,您将遇到异常(userArray比accountArray长)或者您将错过 accountArray 中的元素(userArray比accountArray短)。 -
两个数组的长度相同,但适当指出并会修改,谢谢
标签: javascript reactjs loops for-loop nested