对象的jquery $ .each()
$(document).ready(function() { var data = { "programs": [ { "name":"zonealarm", "price":"500" }, { "name":"kaspersky", "price":"200" } ] }; $.each(data.programs[0], function(key,val) { alert(key+val); }); });
此代码检索第一个数据。 name:zonealarm
和price:500
。 如何检索对象中的所有数据? 我尝试了$.each(data.programs, function(key,val)
但它没有用。我应该把它放在循环中吗?
$.each()
适用于对象和数组:
var data = { "programs": [ { "name":"zonealarm", "price":"500" }, { "name":"kaspersky", "price":"200" } ] }; $.each(data.programs, function (i) { $.each(data.programs[i], function (key, val) { alert(key + val); }); });
…并且因为您将获取当前数组元素作为第二个参数:
$.each(data.programs, function (i, currProgram) { $.each(currProgram, function (key, val) { alert(key + val); }); });
您确实将第一个数据项传递给每个函数。
将data.programs传递给每个函数。 将代码更改为:
基本上你需要在这里做两个循环。 你正在做的那个是迭代第0个数组元素中的每个元素。
你有程序:[{…},{…}]所以程序[0]是{“name”:“zonealarm”,“price”:“500”}所以你的循环就是这样。
你可以在数组上做一个外循环
$.each(data.programs, function(index) { // then loop over the object elements $.each(data.programs[index], function(key, value) { console.log(key + ": " + value); } }