如何从Javascript数组中删除节点

时间:2013-06-19 22:54:43

标签: javascript arrays element

所以...我有这个数组:

val['an_element'][0]['another_element'][2]['text']

我想摆脱整个“2”节点。

现在......我认为这样做的方法是:

delete val['an_element'][0]['another_element'][2];

但是......它实际上并没有丢弃元素,而只是将其清空。

我也尝试过:

val['an_element'][0]['another_element'][2] = null;

...但这只是导致我的控制台日志几乎流血,它是如此红色,有错误。

基本上,我希望[2]节点不再存在。基本上,我希望它不会被发现。

我该怎么办?而且我知道“.splice”方法实际上不会修改原始数组,所以请不要建议它。 :)

1 个答案:

答案 0 :(得分:3)

splice方法实际上会修改数组。试试吧:

val['an_element'][0]['another_element'].splice(2, 1);

来自the docs

  

更改数组的内容,在删除旧元素时添加新元素   ...
  如果指定要插入的元素数量与要删除的数量不同,则数组在调用结束时的长度将不同。