嗨我不确定将新元素推送到关联对象数组
有什么问题var storeData3 = [
{ 'key1' : 'value1' },
{ 'key2' : 'value2' },
{ 'key3' : 'value3' },
{ 'key6' : null},
{ 'key7' : ''},
{ 'key8' : ""},
{ 'key9' : null},
{ 'key10' : 'value4'}
]; //as JSON object
var i=0;
storeData3=JSON.stringify(storeData3, function(key, value)
{if(!value)
{
i++;
};
return value;
});
JSON.parse(storeData3);
function insert(name, number)
{
storeData3.push({name: number});
}
if(i>0) insert('keyX','null');
错误显示“TypeError:storeData3.push不是函数”。
答案 0 :(得分:1)
您正在push
上调用storeData3
方法,这是一个字符串。
该行
storeData3=JSON.stringify(storeData3, function(key, value) ...
用字符串JSON表示覆盖变量。
你必须做
storeData3 = JSON.parse(storeData3);
或使用其他变量。
答案 1 :(得分:1)
您可能希望将已解析的JSON存储回storeData3
JSON.parse(storeData3);
应该是
storeData3 = JSON.parse(storeData3);
答案 2 :(得分:1)
您需要将JSON.parse函数返回到数组storeData = JSON.parse(storeData3);