我在角度范围内有一个数组,它基本上包含每次迭代中的一个对象。我之前使用过 indexOf()函数来检查数组中是否存在值 - 但是如何检查对象字值中是否存在值?
我想使用foreach循环,只需检查规则数组中是否存在以下所示格式存在的单词 - 实现此目的的最佳方法是什么?
rules = [];
rules[0] = { word:"house"}
rules[1] = { word:"shoes"}
rules[2] = { word:"tools"}
答案 0 :(得分:1)
for(var i =0;i < rules.length;i++){
if(rules[i].word === 'valueYouWantToCheck'){
// do whatever you want to do
}
}
试试这个......:)
答案 1 :(得分:1)
rules = []
rules[0] = { word:"house"}
rules[1] = { word:"shoes"}
rules[2] = { word:"tools"}
rules[3] = { sentence:"horse"}
rules.forEach(rule => {
if (rule.word) {
console.log('Exist. Value:', rule.word)
} else {
console.log('Doesn\'t Exist.')
}
})
希望这有帮助!
答案 2 :(得分:1)
您可以使用此
var rules = [];
rules[0] = { word:"house"}
rules[1] = { word:"shoes"}
rules[2] = { word:"tools"}
rules.forEach(function(item){
console.log(item.word) // your word of choice
})
您还可以使用filter
功能。如果您的所需单词匹配,它将返回该对象,否则它将返回一个空数组
var getValue = rules.filter(function(item){
return item.word=='house';
})
console.log(getValue)
除此之外,您还可以使用.find
方法
rules.find(function(item){
return item.word=="house";
})
答案 3 :(得分:-1)
rules = [];
rules[0] = { word:"house"}
rules[1] = { word:"shoes"}
rules[2] = { word:"tools"}
for(var i=0; i<rules.length ; i++)
{
rules[i]["word"]=='valueforComparison'; // or rules[i].word=='valueforComparison';
}