optionarray = [];
for(i=0;i<response.length;i++) {
optionarray[i]['content'] = response[i]['name'];
optionarray[i]['value'] = response[i]['id'];
}
我一直在尝试将其添加到数组并构建它时,未定义optionarray [i]。我知道我做了一些荒谬可笑的事我只是记不清楚:)
非常感谢您提前提供任何帮助。
答案 0 :(得分:3)
optionarray = [];
for(i=0;i<response.length;i++) {
optionarray[i] = {
'content' :response[i]['name'],
'value': response[i]['id']
};
}
答案 1 :(得分:1)
您正在尝试访问不存在的optionarray[i]
属性。
在每次迭代中你应该做的是
optionarray
你可以像这样同时做两件事:
optionarray = [];
for(i=0;i<response.length;i++) {
optionarray.push({
content: response[i]['name'],
value: response[i]['id']
});
}
答案 2 :(得分:1)
我认为你只需要在for循环中初始化optionarray [i]对象:
var optionarray = []; //NOTE: I added var here so because otherwise it's an implicit global
for(i=0;i<response.length;i++) {
optionarray[i] = {};
optionarray[i]['content'] = response[i]['name'];
optionarray[i]['value'] = response[i]['id'];
// BETTER: optionarray.push({content: response[i]['name'], value: response[i]['id']});
}
如果我没弄错的话。
答案 3 :(得分:0)
试试这个
optionarray[i] = [];
optionarray[i]['content'] = response[i]['name'];
optionarray[i]['value'] = response[i]['id'];
您需要将optionarray [i]定义为数组