javascript从(内部)对象文字中删除值

时间:2012-02-05 14:10:49

标签: javascript

我正在尝试从(内部?)对象文字中删除一个对象。但我无法弄清楚为什么它会起作用。

var data= 
{
   "car": 3,
   "boat": 2
};

data.pop(); //should remove last one?
data.splice(1, 1); // removes element with index 1?

我在这里做错了什么?您是否可以按名称删除该项目?让我们说删除船。

4 个答案:

答案 0 :(得分:5)

由于它的Object不是数组,delete应该可以工作

像这样:

var data= 
{
   "car": 3,
   "boat": 2
};

alert(data["boat"]);
delete data["boat"];
alert(data["boat"]);

在行动中看到它:
JSFiddle

答案 1 :(得分:2)

data不是数组。 popsplice方法适用于integer index based arrays

var data = [ 
    { "car": 3 },
    { "boat": 2 }
];

data.pop();
data.splice(1, 1);

答案 2 :(得分:2)

使用delete

delete data.car;

> var data = { "car" : 3, "boat" : 2 }
> data
{ car: 3, boat: 2 }
> delete data.car;
> data
{ boat: 2 }

答案 3 :(得分:1)

这不是数组

它只适用于数组

var data= 

    [  { "car": 3},{   "boat": 2}]