我正在尝试从jQuery切换到在没有jQuery库帮助的情况下更多地了解Javascript。我有一堆书要经过,并写出它的html,但它无法读取标题或日期或其他任何内容。
在jQuery中,我可以这样做:
var books = [
{name: 'Book 1', author: 'John Wriggly', pages: 9},
{name: 'Book 2', author: 'James Wriggly', pages: 500},
{name: 'Book 3', author: 'Jacob Wriggly', pages: 52}
];
$(books).each(function(index, item){
console.log(item.name); // works!
});
但是如果没有jQuery,我会尝试这样做,并且它返回undefined ...
var books = [
{name: 'Book 1', author: 'John Wriggly', pages: 9},
{name: 'Book 2', author: 'James Wriggly', pages: 500},
{name: 'Book 3', author: 'Jacob Wriggly', pages: 52}
];
books.forEach(function(index, item){
console.log(item.name); // undefined :(
})
这些属性均不起作用。作者,页面等。。。我想念什么?
编辑:不确定为什么对问题和社区提供的答案如此之多。这是一个清晰明了的问题,提供了一些示例说明哪些有效,哪些无效。答案也很清楚,简洁和有用。当然,这是一个简单的问题,答案很简单,但是我很难找到答案。你们中有些小丑需要对帮助新来者更加开放。感谢那些提供建设性意见的人。
最佳答案
只需更改参数的顺序即可。
books.forEach(function(item, index){
console.log(item.name);
console.log(index);
});