使用jQuery按值删除JSON数组中的元素

Lel*_*lly 6 javascript arrays jquery json

我的json数组的一部分

var videos = $j.parseJSON('
  [
    { "privacy":"public",
      "id":"1169341693" },

    { "privacy":"private",
      "id":"803641223" },

    { "privacy":"public",
      "id":"1300612600" }, ......
Run Code Online (Sandbox Code Playgroud)

当我在console.log中获取我正在获取的元素

   [Object, Object, Object, …]
       0: Object
           privacy: "public"
           id: "1169341693"
       1: Object
           privacy: "private"
           id: "803641223"
       2: Object
           privacy: "public"
           id: "1300612600"
Run Code Online (Sandbox Code Playgroud)

我还有一个我想要搜索的唯一ID

var uniqueId = 803641223;
Run Code Online (Sandbox Code Playgroud)

我想在我的视频数组中找到正确的id,并删除整个数组元素.那么在这种情况下,我希望我的最终视频数组只包含2个对象,而不是3个:

 var videos = $j.parseJSON('
  [
    { "privacy":"public",
      "id":"1169341693" },

    { "privacy":"public",
      "id":"1300612600" }, ......
Run Code Online (Sandbox Code Playgroud)

我的问题是如何进入阵列进行拼接.我更喜欢用jQuery来做

有什么帮助吗?

Den*_*ret 14

你可以使用grep:

videos = $.grep(videos, function(e) { return e.id!='803641223' });
Run Code Online (Sandbox Code Playgroud)

在vanilla JavaScript中,您可以使用类似的过滤器功能,但IE8不支持它.

请注意,这videos是一个JavaScript数组,它不是JSON数组,即使它是通过解析JSON字符串而制作的.