使用jquery迭代。()。each和for循环失败

时间:2017-12-07 14:08:27

标签: javascript jquery loops for-loop

我正在尝试从两个对象获取数据并避免(this)关键字发生冲突我认为使用each和for循环可以使用两个对象。但我不能让他们合作得当。令人沮丧的是我现在在控制台中出现错误。我的代码:

var times = {
  startTimes: [{
    start: '10:00'
  }, {
    start: '11:00'
  }, {
    start: '12:00'
  }],
  endTimes: [{
    end: '10:00'
  }, {
    end: '11:00'
  }, {
    end: '12:00'
  }]
}
var items = [];
jQuery(obj).each(function() {
  if (this.ID === parseInt(inputID)) {

    for (var i in times) {
      var item = {
        id: this.ID,
        start: times.startTimes[i].start,
        end: times.endTimes[i].end
      }
      items.push(item);
    }

  }
});

我做错了什么?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

.each()是jQuery对象的函数,来自此处的官方文档:.each()

  

描述:迭代一个jQuery对象,执行一个函数   每个匹配的元素。

  

当被调用时,它会遍历作为其中一部分的DOM元素   jQuery对象。

你在一些肯定不是由DOM对象组成的东西上调用它。

您可以使用评论中建议的内容或选择香草:

    arr.forEach(function callback(currentValue, index, array) {
       //your iterator
    }[, thisArg]);

请参阅文档:forEach()

另外,里面的逻辑对我来说似乎很奇怪,你想在这里实现什么?