将元素推入新的关联对象数组

时间:2013-05-17 09:05:47

标签: javascript json

嗨我不确定将新元素推送到关联对象数组

有什么问题
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不是函数”。

3 个答案:

答案 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);

相关问题