对象的jquery$.each() $(文档).ready(函数(){ var数据={“程序”:[{“名称”:“区域武器”,“价格”:“500”},{“名称”:“卡巴斯基”,“价格”:“200”}]}; $.each(data.programs[0],函数(key,val){ 警报(按键+val); }); });

对象的jquery$.each() $(文档).ready(函数(){ var数据={“程序”:[{“名称”:“区域武器”,“价格”:“500”},{“名称”:“卡巴斯基”,“价格”:“200”}]}; $.each(data.programs[0],函数(key,val){ 警报(按键+val); }); });,jquery,each,Jquery,Each,此代码检索第一个数据名称:zonealarm和价格:500 如何检索对象中的所有数据? 我尝试了$。每个(data.programs,function(key,val),但都不起作用 我应该将其放入循环中吗?$。each()适用于对象和数组: <script> $(document).ready(function() { var data = { "programs": [ { "name":"zonealarm", "price":"500" }, { "n

此代码检索第一个数据<代码>名称:zonealarm和
价格:500

如何检索对象中的所有数据?

我尝试了
$。每个(data.programs,function(key,val)
,但都不起作用

我应该将其放入循环中吗?

$。each()
适用于对象和数组:

<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>
…由于您将获得当前数组元素作为第二个参数:

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传递给每个函数。 将代码更改为如下所示:

$.each(data.programs, function (i, currProgram) {
    $.each(currProgram, function (key, val) {
        alert(key + val);
    });
});

$(文档).ready(函数(){
var数据={“程序”:[{“名称”:“区域武器”,“价格”:“500”},{“名称”:“卡巴斯基”,“价格”:“200”}]};
$.each(data.programs,function(key,val){
警报(按键+val);
});     
}); 

这里基本上需要执行两个循环。您正在执行的一个循环是迭代第0个数组元素中的每个元素

您有程序:[{…},{…}] 所以程序[0]是{“name”:“zonealarm”,“price”:“500”} 所以你的循环就在上面

您可以在阵列上执行外部循环

<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> 

但我并没有得到精确的值,只是得到每个对象的索引?因为你们在这里得到的是整个对象。要得到精确的值/从对象中提取值:console.log(key+“”+val.name+“”+val.price);
$.each(data.programs, function(index) {

    // then loop over the object elements
    $.each(data.programs[index], function(key, value) {
        console.log(key + ": " + value);
    }

}