我试图遍历此JavaScript对象,但它只返回最后一个键。
这是我的代码
var array = [
{
"outfit": {
"url": "http://www.nintendo.co.uk",
"title":"T-shirt",
"price":"£20"
}
},
{
"outfit": {
"url": "http://www.nintendo.co.uk",
"title":"T-shirt",
"price":"£720"
}
},
{
"outfit": {
"url": "http://www.nintendo.co.uk",
"title":"T-shirt",
"price":"£9920"
}
}
];
for(var i=0; i<array.length; i++){
console.log(array[i]);
$('.slide .content').each(function(index){
if(i == index) {
console.log(i + "==" + index);
var contentDiv = $('.slide .content')[index];
contentDiv.innerHTML = "";
contentDiv.innerHTML = '<a href="'+ array[i].url +'">'+ array[i].title + '<span>'+ array[i].price +'</span></a>'
}
});
}
我基本上是试图遍历数据,将其提取出来以用作外观书传送带。然后,将每个轮播幻灯片的每个数据附加到$('。slide .content')中。
任何帮助将不胜感激。非常感谢
答案 0 :(得分:0)
已编辑
var array = [
{
"outfit": [
{
"link": {
"url": "http://www.nintendo.co.uk",
"title":"T-shirt",
"price":"£20"
},
},
{
"link": {
"url": "http://www.bbc.co.uk",
"title":"Trousers",
"price":"£60"
}
}
]
},
{
"outfit": [
{
"link": {
"url": "http://www.nintendo.co.uk",
"title":"Dress",
"price":"£920"
}
}
]
}
];
array.forEach(function(value, index ){
value.outfit.forEach(function( outfitValue, outfitIndex){
console.log(outfitValue.link.title);
});
});
结果
https://jsfiddle.net/jzpL8dnm/13/
我更改了代码的结构。它可以帮助您解决问题。
var array = [
{
"outfit": {
"link": {
"url": "http://www.nintendo.co.uk",
"title":"T-shirt",
"price":"£20"
},
"link": {
"url": "http://www.bbc.co.uk",
"title":"Trousers",
"price":"£60"
}
}
},
{
"outfit": {
"link": {
"url": "http://www.nintendo.co.uk",
"title":"Dress",
"price":"£920"
}
}
}
];
for(var key in array){
console.log(array[key]);
}
答案 1 :(得分:0)
我发现,如果我们在JavaScript对象中具有相同的键,则在通过编译器/编译器遍历JavaScript对象时,它将获得键的更新信息。因此,如果您真的想实现键,则键应该是唯一的。关联数组是最方便的方法,因为索引将帮助您检索数据(无论数据是否重复)。
第二种方式:如果只想使用js对象,则在具有相同键的js对象中创建数组。
答案 2 :(得分:-1)
您具有相同的键。 JS对象中的键必须唯一。