Javascript 将元素推入新的关联对象数组中
嗨,我不确定将新元素推到对象的关联数组有什么问题Javascript 将元素推入新的关联对象数组中,javascript,json,Javascript,Json,嗨,我不确定将新元素推到对象的关联数组有什么问题 var storeData3 = [ { 'key1' : 'value1' }, { 'key2' : 'value2' }, { 'key3' : 'value3' }, { 'key6' : null}, { 'key7' : ''}, { 'key8' : ""}, { 'key9' : null}, { 'key10' : 'value4'} ]; //as JSON object var i=0;
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不是函数”。您正在调用
storeData3
上的push
方法,该方法是一个字符串
线路
storeData3=JSON.stringify(storeData3, function(key, value) ...
使用字符串JSON表示形式覆盖变量
你必须这样做
storeData3 = JSON.parse(storeData3);
或者使用另一个变量。您可能希望将解析后的JSON存储回
storeData3
JSON.parse(storeData3);
应该是
storeData3 = JSON.parse(storeData3);
需要将JSON.parse函数返回数组
storeData=JSON.parse(storeData3)
当您执行storeData3=JSON.stringify(storeData3,函数(键,值)
storeData3
时,它会变成一个字符串。因为没有storeData3.push()函数JSON.parse(storeData3);
返回解析后的值,但您没有对它做任何操作。@Atle,它有;.stringify
返回一个字符串,JSON.parse
返回实际结构,即数组。您不能。将推到字符串中。我知道,但我认为在看到错误后,错误消息不会解释太多。“storeData3没有方法‘push’”将解释更多。