簡體   English   中英

在兩個數組中查找匹配值

[英]finding matching values in two arrays

所以我有這個價值,我從一個可以是單個項目或多個項目的API回來了。

我映射並返回我想要的值。

const value = JSONObject.map(data => {return data.value});

console.log(value); // ["value"]

或多個字符串(如果映射中存在多個值)。

現在是我感到困惑的部分。

我有另一個本地JSON對象,我想與api中的值進行匹配。

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

唯一的是“值”是一個可以包含一個或多個字符串項的數組。

我的理解是上述if語句將數組與字符串進行比較,該字符串永遠不會為真,因此永遠不會記錄日志。

如何獲取比較值數組中的值?

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")
 }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM