一尘不染

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

json

我的json数组的一部分

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

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

    { "privacy":"public",
      "id":"1300612600" }, ......

当我console.log我得到的元素

   [Object, Object, Object, …]
       0: Object
           privacy: "public"
           id: "1169341693"
       1: Object
           privacy: "private"
           id: "803641223"
       2: Object
           privacy: "public"
           id: "1300612600"

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

var uniqueId = 803641223;

我想在我的视频数组中找到正确的ID,然后删除整个数组元素。因此,在那种情况下,我希望我的最终视频数组仅包含2个对象,而不是3个:

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

    { "privacy":"public",
      "id":"1300612600" }, ......

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

有什么帮助吗?


阅读 1223

收藏
2020-07-27

共1个答案

一尘不染

您可以使用grep

videos = $.grep(videos, function(e) { return e.id!='803641223' });

在原始JavaScript中,您可能使用过类似的过滤器功能,但IE8不支持该功能。

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

2020-07-27