删除jsonObject替换为undefined

时间:2019-02-11 13:19:48

标签: javascript

为什么要删除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
  }
]

我还没有看到解决此问题的帖子。

谢谢

4 个答案:

答案 0 :(得分:4)

您可以使用splice

  

splice()方法通过删除或更改数组的内容   替换现有元素和/或添加新元素。

json.splice(0, 1)

答案 1 :(得分:3)

json是不是对象的数组。 delete在数组上不起作用。使用shift()删除数组的第一个元素。 Refer

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)

Refer

答案 2 :(得分:2)

使用splice

json.splice(0, 1);  // 1 item at position 0

我写此答案的主要原因是评论说这与JSON无关-您有Javascript对象,而不是JSON字符串。

答案 3 :(得分:0)

在删除json [0]之后,您只需要过滤这样的值

json.filter(x=>x)

https://codepen.io/pen/?editors=1111