在javascript中搜索对象中的值

时间:2016-12-06 09:59:29

标签: javascript angularjs arrays object

我在角度范围内有一个数组,它基本上包含每次迭代中的一个对象。我之前使用过 indexOf()函数来检查数组中是否存在值 - 但是如何检查对象字值中是否存在值?

我想使用foreach循环,只需检查规则数组中是否存在以下所示格式存在的单词 - 实现此目的的最佳方法是什么?

rules = [];

rules[0] = { word:"house"}
rules[1] = { word:"shoes"}
rules[2] = { word:"tools"}

4 个答案:

答案 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';
}