我正在尝试将字符串转换为JS对象。它已成功使用JSON.parse方法,但是问题是,当我们从对象中删除某些东西时,它丢失了/没有删除了“,”。检查此程序并输出:

var jsonString =    '[{"connectionName" : "conn1", "ipaddress" : "127.0.0.1","port" : "80"}, {"connectionName" : "conn2", "ipaddress" : "127.0.0.100","port" : "760"}]';

var a  = JSON.parse(jsonString); // Successfully converted to Object and i can access them

delete a[1]; //deletes the conn2

var obj = {"connectionName" : "conn3", "ipaddress" : "127.0.0.100","port" : "760"};

a.push(obj);
console.dir(a);

输出:
[ { connectionName: 'conn1', ipaddress: '127.0.0.1', port: '80' },
  ,
  { connectionName: 'conn3',
    ipaddress: '127.0.0.100',
    port: '760' } ]

您能否在两个对象之间观察到额外的“,”:
'80' },
      ,
      { connectionName:

最佳答案

如果要删除数组项,请使用 splice 而不是delete

a.splice(1, 1);

只是要清楚。 splice将改变原始数组。

07-25 20:40