let currentFruit = "apple"
let Array = [{fruit:"apple",locale:"US"},
{fruit:"orange",locale:"US"},
{fruit:"banana",locale:"US"},
{fruit:"apple",locale:"US"},
{fruit:"orange",locale:"IT"},
{fruit:"apple",locale:"IT"},
{fruit:"banana",locale:"IT"},
{fruit:"orange",locale:"IT"}
{fruit:"apple",locale:"IT"}]
具有对象的语言环境为“ US”的“ currentFruit”。我想验证“ Array”中是否存在具有相同区域设置“ US”的“ currentFruit”,以将标志设置为“ true”,否则,如果“ Array”中存在具有不同区域设置的“ currentFruit”,则设置为“ false”。
for (let i = 0; i < Array.length; i++) {
if (Array[i]["fruit"].toString().toLowerCase() === currentFruit.toString().toLowerCase()) {
this.uniqueFruit = true;
break;
} else {
this.uniqueFruit = false;
}
}
上面的代码评估对象数组中是否存在“ currentFruit”。但是,如何验证具有相同语言环境“ US”的数组中是否存在“ currentFruit”。
您可以按如下所示将locale
的比较添加到循环中:
let currentFruit = "apple"
let Array = [{fruit:"apple",locale:"US"},
{fruit:"orange",locale:"US"},
{fruit:"banana",locale:"US"},
{fruit:"apple",locale:"US"},
{fruit:"orange",locale:"IT"},
{fruit:"apple",locale:"IT"},
{fruit:"banana",locale:"IT"},
{fruit:"orange",locale:"IT"},
{fruit:"apple",locale:"IT"}]
console.log(validate(Array,currentFruit,"US"));
console.log(validate(Array,currentFruit,"FR"));
function validate(arr, currentFruit, locale){
for(let i = 0; i < arr.length; i++)
if(arr[i]["fruit"].toLowerCase() == currentFruit.toLowerCase() && arr[i]["locale"] == locale)
return true;
return false;
}
您可以为想要的水果添加属性,并根据locale
属性添加属性。
let currentFruit = "apple",
locale = "US",
array = [{ fruit: "apple", locale: "US" }, { fruit: "orange", locale: "US" }, {fruit: "banana", locale: "US" }, { fruit: "apple", locale: "US" }, { fruit: "orange", locale: "IT" }, { fruit: "apple", locale: "IT" }, { fruit: "banana", locale: "IT" }, { fruit: "orange", locale: "IT" }, { fruit: "apple", locale: "IT" }]
array.forEach(o => {
if (o.fruit !== currentFruit) return;
o.uniqueFruit = o.locale === locale;
});
console.log(array);