为什么如果我删除 json 的元素 0,它会被替换为"undefined",而且我没有一个带有 1 个元素的 jsonArray。
var json = [
{"name": "test", "position":1},
{"name": "test2", "position":2}]
delete json[0]
console.log(json)
我想要这样的东西:
[
{
"name": "test2",
"position": 2
}
]
我还没有看到解决这个问题的帖子。
谢谢
splice
:
splice()
方法通过删除或 替换现有元素和/或添加新元素。
json.splice(0, 1)
json 是一个数组而不是一个对象。 delete
不适用于阵列。使用 shift()
删除数组的第一个元素。指
json.splice(0, 1)
var json = [{
"name": "test",
"position": 1
},
{
"name": "test2",
"position": 2
}
]
json.shift()
console.log(json)
您还可以使用拼接从数组中删除对象
var json = [{
"name": "test",
"position": 1
},
{
"name": "test2",
"position": 2
}
]
json.splice(0, 1)
console.log(json)
指
使用 splice
:
json.splice(0, 1); // 1 item at position 0
我写这个答案的主要原因是评论这与JSON无关 - 你有一个Javascript对象,而不是JSON字符串。
删除 json[0] 后,你只需要像这样过滤值
json.filter(x=>x)
https://codepen.io/pen/?editors=1111