JS 中完全删除 JSON 对象构成的数组中的元素

发布日期:2019-07-23 19:47:49 阅读数: 229次 来源: 作者:

在 JS 中,对于某个由 JSON 对象构成的数组,例如:

var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];亚博

若是我们想要删除此中的第二个json对象,该当怎样做呢?其实方式和操作数组完全不异。

 

在最起头的时候测验考试利用了 delete 运算符,但在查询数组长度的时候发觉其实这种方式并不是完全删除元素,而是删除它的值,但仍会保留空间。

var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];
test.length   //输出为 3
delete test[1];
test.length   //输出仍为 3

查询运算符 delete 我们晓得它只是将该值置为 undefined,而不会影响数组长度,即将其变为稀少数组(《JS权势巨子指南》7.5节)。

 

领会和此,也许想着能够将删除点之后的元素各往前挪动1个单元,实现完全剔除该元素,但在JS方式中我们能够查到一种愈加简洁的体例:splice() 方式

var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];
test.length   //输出为 3
test.splice(1, 1);
test.length   //输出为 2

删除后 test.length 变为 2,这恰是我们想要的成果。

本文由亚博编辑整理亚博手机app