在两个数组中找到匹配值



所以我有这个值,我可以从一个可能是单个项目或多个项目的API中返回。

i映射并返回我想要的值。

const value = JSONObject.map(data => {return data.value});
console.log(value); // ["value"]

或多个字符串,如果地图中存在多个值。

现在是我困惑的部分。

我有另一个我要与API值匹配的本地JSON对象。

for(i = 0; i < LocalJSONObject; i++;){
 if(value === LocalJSONObject[i].value){
 console.log("matching values")
 }
}

唯一的是"值"是一个可以包含一个单字符串项目或多个字符串项目的数组。

我的理解是上述如果语句将数组与字符串进行比较,而该数组将永远不正确,因此永远不会记录。

如何获得它以比较值数组中的值?

for (var lo = 0; lo < LocalJSONObject.length; ++lo) {
  for (var va = 0; va < value.length; ++va) {
    if (value[va] === LocalJSONObject[lo].value) {
      console.log('Matching values:', value[va]);
    }
  }
}

是的,您在假设您的语句将数组与字符串进行比较时是正确的,因为map方法返回数组。

要有效地解决它,您可以使用array.prototype.includes()方法获取结果。

for(i = 0; i < LocalJSONObject; i++;){
 if(value.includes(LocalJSONObject[i].value)){
   console.log("matching values")
 }
}

相关内容

  • 没有找到相关文章

最新更新