我正在尝试从(内部?)对象文字中删除一个对象。但我无法弄清楚为什么它会起作用。
var data=
{
"car": 3,
"boat": 2
};
data.pop(); //should remove last one?
data.splice(1, 1); // removes element with index 1?
我在这里做错了什么?您是否可以按名称删除该项目?让我们说删除船。
答案 0 :(得分:5)
由于它的Object不是数组,delete应该可以工作
像这样:
var data=
{
"car": 3,
"boat": 2
};
alert(data["boat"]);
delete data["boat"];
alert(data["boat"]);
在行动中看到它:
JSFiddle
答案 1 :(得分:2)
data
不是数组。 pop
和splice
方法适用于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}]