jQuery循环获取数据

时间:2016-12-15 22:29:44

标签: jquery

我创建了一个数组,当我通过'for'循环来检查一个真正的输入时,如果给定的输入确实在数组中。我得到了它的工作,因为它 找到了真正的值并提​​醒真实 ,但是 它为每个其他条目提醒false 在数组中。

$(function(){


 $('button').on('click', function() {
  var name = $('#name').val()


  // Users
  var pers = ['John', 'Apples', 'Emily', 'Banana', 'Chris', 'Orange'];


 for (var i in pers) {
     if( pers[i] == name) {
         $('body').append('<h3> You like ' + pers[++i] + '!');
     } else {
        alert('false');
     } // IF
    } // Loop  
  }); // Button
}); // Function

1 个答案:

答案 0 :(得分:0)

每个初学者似乎都错了。在完成循环之前,您无法知道找不到该元素。您为每个不匹配的项目提醒false,即使之前或之后有匹配项。你需要在找到匹配时设置一个标志,然后在循环结束时检查是否设置了标志。

你不应该为此使用数组,你应该使用一个对象来实现映射。

var pers = { John: 'Apples', Emily: 'Banana', Chris: 'Orange' };
if (pers.hasOwnProperty(name)) {
    $('body').append('<h3> You like ' + pers[name] + '!');
} else {
    alert("false");
}