[英]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.