为数组中的数组赋值
Assign values to an array within an array
我项目的数据结构应该如下所示:
{
"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"]);
}
我一直收到 "Uncaught TypeError: Cannot set property 'lower' of undefined" 并且我不知道哪里出错了。任何帮助将不胜感激
您的 "content" 数组开始时只有一个对象。如果您的 ajax 结果不止于此,那么这些数组条目将为 undefined
.
在尝试赋值之前,只需确保数组元素中有一个对象:
if (!dataResult.content[i])
dataResult.content[i] = {};
dataResult.content[i].lower = convertToUnix(data["reading_list"][i]["ts"]);
我项目的数据结构应该如下所示:
{
"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"]);
}
我一直收到 "Uncaught TypeError: Cannot set property 'lower' of undefined" 并且我不知道哪里出错了。任何帮助将不胜感激
您的 "content" 数组开始时只有一个对象。如果您的 ajax 结果不止于此,那么这些数组条目将为 undefined
.
在尝试赋值之前,只需确保数组元素中有一个对象:
if (!dataResult.content[i])
dataResult.content[i] = {};
dataResult.content[i].lower = convertToUnix(data["reading_list"][i]["ts"]);