javascript - 将值赋给数组内的数组

标签 javascript arrays variable-assignment

我的项目的数据结构应该如下所示:

{
"result":"ok",
"content":[
    {
        "type":"1d",
        "lower":1359129600,
        "upper":1359133200,
        "mean":29.071428571428573

    },{
        "type":"1d",
        "lower":1359133200,
        "upper":1359136800,
        "mean":27.232142857142858
    }]
}

我正在尝试为下限、上限、平均值指定值。

var dataResult = {result:"ok", content:[{type:"1d", lower:"", upper:"", mean:""}]};
var scope = this;
  $.ajax({
    type: "POST",
    async: true,
    url: scope.fetchUrl,
    data: { query: dataQuery }
    })
    .done(function( data ) {
      for(var i = 0; i < data["reading_list"].length; i++){
        dataResult.content[i].lower = convertToUnix(data["reading_list"][i]["ts"]);
      }

我不断收到“未捕获的类型错误:无法设置未定义的属性‘较低’”,我不知道哪里出错了。任何帮助将不胜感激

最佳答案

您的“内容”数组一开始只有一个对象。如果您的 ajax 结果超过这个值,那么这些数组条目将是未定义

在尝试进行赋值之前,只需确保数组元素中有一个对象即可:

    if (!dataResult.content[i])
      dataResult.content[i] = {};
    dataResult.content[i].lower = convertToUnix(data["reading_list"][i]["ts"]);

关于javascript - 将值赋给数组内的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28593394/

相关文章:

javascript - 如何并行 api 调用并保持列表中响应的顺序以供 ui 呈现(RxJS Observables)

javascript - 如何触发页面上 div 单元的刷新(给出的示例)

javascript - 如果另一个 div 包含任何文本、内容或 html,则隐藏 div

ruby - 用 `Array.new(n, Array.new)` 创建矩阵

PHP函数获取数组的前5个值

python - 未绑定(bind)本地错误 : local variable referenced before assignment (Python)

c++ - if 子句中的赋值无效

c - 多维数组 : incompatible type assignment

javascript - ng-if 与 JSON feed 数组值

php - 使用 php 将逗号分隔值插入 mysql 字段