假设我有一个名为foo的JSON:
{
"key" : "value",
"one" : "two"
}
我想删除第一个元素,所以索引为0。但我不知道它的'key'是什么。
我尝试使用'delete foo[0]',但它没有起作用。它会输出'true',但实际上并没有真正删除它。
有没有一种方法可以在不循环遍历它的情况下完成这个任务?
假设我有一个名为foo的JSON:
{
"key" : "value",
"one" : "two"
}
使用Object.keys(JSON)[0]
获取键,然后将其删除。
delete foo[Object.keys(foo)[0]]
,它完美地运行了。(我会尽快接受这个答案) - TroughyJSON对象属性没有像数组一样的顺序。然而,您可以通过以下方式获取属性列表:
Object.keys(foo); // ["key","one"]
删除使用delete命令找到的第一个元素。
delete foo[ Object.keys(foo)[0] ]
您可以使用Object.keys
获取对象的键列表。
一般来说,这不是一个好主意,所以也许需要考虑是否有更好的方法,但是以下是你尝试做到的代码:
test = {
"key" : "value",
"one" : "two"
}
delete test[Object.keys(test)[0]]
该对象不是数组,因此无法通过索引删除对象的元素。但是,您可以获取对象键的数组。
Object.keys(foo)
delete foo[Object.keys(foo)[index]];
编写原型是很方便的,这样代码就不会变得笨重。
Object.prototype.deleteByIndex = function(index) {
delete this[Object.keys(this)[index]];
};
let foo = {
"one": "test 1",
"two": "test 2"
}
foo.deleteByIndex(0);