【问题标题】:Trouble extracting data from 2D array jQuery从二维数组 jQuery 中提取数据时遇到问题
【发布时间】:2013-04-10 12:56:51
【问题描述】:

我使用 Ajax 运行 PHP 脚本以返回数据库中的记录。在 Ajax 调用成功后,我设法将 2D 数组检索到我的 JavaScript 文件中。然后我调用一个函数。

在函数中,我想从数组中提取数据并将它们保存到 JavaScript 变量中。

我正在使用 jQuery,所以我假设我必须使用 $.each?

这是我从 ajax 调用收到的响应:

[{"level":"1","location":"4554","quantity":"2","game_item_id":"1"},{"level":"1","location":"4554","quantity":"1","game_item_id":"5"}]

我要做的是从这个二维数组中提取关卡、位置数据并将其保存到 JavaScript 中的关卡和位置变量中。

您还可以看到,发送回的两条记录除了game_item_idquantity 之外是相同的。我想将game_item_ids 及其关联的quantity 值的列表保存到数组或变量中。

编辑 感谢答案,我设法将级别和位置数据保存到变量中。但是我仍然不知道如何存储每个游戏项目 id 和每个项目的数量?

【问题讨论】:

  • data[0].location,如果解析成对象,否则需要JSON.parse。

标签: javascript jquery multidimensional-array


【解决方案1】:

假设你的对象被命名为data...使用循环

$.each(data,function(i,v){
   console.log(v.level);
   console.log(v.location);
 })

【讨论】:

  • 感谢这对关卡和位置数据来说就像一个魅力,你建议我为 game_item_id 和数量场景做什么?谢谢
【解决方案2】:

您好,请参考下面的代码以获取数组中的 id 和数量 ::

var list =
[{"level":"1","location":"4554","quantity":"2","game_item_id":"1"},{"level":"1","location":"4554","quantity":"1","game_item_id":"5"}];

var arrGameIdAndQuantity = new Object();

for(i=0;i<list.length;i++){    
    id = list[i]["game_item_id"];
    qty = list[i]["quantity"];    
    arrGameIdAndQuantity[id] = qty;
}

alert(JSON.stringify(arrGameIdAndQuantity))

【讨论】:

    【解决方案3】:

    这个怎么样;

    data[1].level
    

    你可以像这样遍历每个数组

    data = $.parseJSON(data); // if data is not in json
    $.each(data, function(item, value) {
       alert(value.level);
       alert(value.location);
       alert(value.game_item_id);
       alert(value.quantity);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 2015-04-25
      • 2021-10-31
      • 2014-01-25
      • 2021-12-29
      • 2021-09-29
      相关资源
      最近更新 更多