<script>
$(document).ready(function() {
var data = { "programs": [ { "name":"zonealarm", "price":"500" }, { "name":"kaspersky", "price":"200" } ] };
$.each(data.programs[0], function(key,val) {
alert(key+val);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
此代码检索第一个数据.name:zonealarm
和price:500
.如何检索对象中的所有数据?我试过$.each(data.programs, function(key,val)
但它没有奏效.我应该把它放在一个循环中吗?
Tom*_*lak 99
$.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);
});
});
Run Code Online (Sandbox Code Playgroud)
...并且因为您将获取当前数组元素作为第二个参数:
$.each(data.programs, function (i, currProgram) {
$.each(currProgram, function (key, val) {
alert(key + val);
});
});
Run Code Online (Sandbox Code Playgroud)
您确实将第一个数据项传递给每个函数.
将data.programs传递给每个函数.将代码更改为:
<script>
$(document).ready(function() {
var data = { "programs": [ { "name":"zonealarm", "price":"500" }, { "name":"kaspersky", "price":"200" } ] };
$.each(data.programs, function(key,val) {
alert(key+val);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
基本上,您需要在此处执行两个循环。您已经在做的是迭代第0个数组元素中的每个元素。
您有程序:[{......,{...}],所以program [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);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
209920 次 |
最近记录: |