javascript - 似乎无法删除对象文字中的元素

标签 javascript json object-literal

<分区>

我有一个 JSON 对象文字,我试图从中删除一个元素(比方说苹果)。我已经尝试了很多东西,但我似乎无法让它发挥作用。

var JSON = {
    "fruits": [{
        "name": "oranges",
        "quantity": "3"
    },{
        "name": "apples",
        "quantity": "2"
    },{
        "name": "bananas",
        "quantity": "3"
    }
]};

console.log(JSON);
delete JSON.fruits[1];
console.log(JSON);

调用上面的代码会导致对象被删除,但看起来会在第三个对象之前插入键。看看this fiddle .我不希望发生这种情况。

这就是 Fiddle 中发生的事情。但是在我的实时脚本中,它似乎用单词 null 替换了已删除的对象,这破坏了我的脚本。

我还尝试了 .splice() 的许多变体,但那似乎是针对数组,而不是对象字面量。

有什么想法吗?

最佳答案

你可以使用 Array#splice对于对象内部的数组。

delete 删除对象,但您得到数组的未定义元素。

var object = { fruits: [{ name: "oranges", quantity: "3" }, { name: "apples", quantity: "2" }, { name: "bananas", quantity: "3" }] };

object.fruits.splice(1, 1);
console.log(object);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 似乎无法删除对象文字中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40337938/

相关文章:

java - 复杂 Json 到嵌套 POJO spring MVC

java - 如何通过 JsonSystem(Itemscript JSON 库)使用内存数据存储?

c# - 如何使用unicode字符获取json结果

javascript - 是否有能够渲染到 html Canvas 的最大图像大小?

javascript - Angular2 应用程序在单击事件时跳转到页面顶部

javascript - 如何有效地用许多静态键/值对填充 Javascript 对象文字?

javascript - 为什么jQuery调整宽高需要大括号?

javascript - 创建一个包含字符串属性的对象文字

php - 如何在用户离开页面时删除文件?

javascript - 在 contenteditable 元素中插入链接