当前位置: 首页 > 面试题库 >

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

皇甫建木
2023-03-14
问题内容

我的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

有什么帮助吗?


问题答案:

您可以使用grep:

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

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

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



 类似资料:
  • 问题内容: 我需要删除具有给定值的数组项: 可以用更短(更有效)的方式完成吗? 问题答案: 可以使用简单的单缸衬套即可完成。 具有此数组: 你可以做: 的值为: 希望它有助于编写漂亮的代码。

  • 你可以使用delete关键字来删除数组元素。如: delete myObj.sites[1];

  • 改变原始数组,过滤出指定的值。 返回删除的元素。 使用 Array.filter() 和 Array.includes() 来剔除指定的值。使用 Array.length = 0 将数组中的长度重置为零, 并且通过 Array.push() 只使用 pulled 值重新填充数组。使用 Array.push() 来跟踪 pulled 值。 const pullAtValue = (arr, pull

  • 我有一个特定的JSON节点,对应于import org.codehaus.jackson。JsonNode,而不是导入org.codehaus.jackson.map.JsonNode。 我想从上述数组的所有JSON节点中删除“familyName”和“middleName”。有没有办法做到这一点?

  • 假设我有array 我只想按值[2]从数组中删除[2]。 预期的数组将是 谢谢你的帮助,谢谢。

  • 问题内容: 在下面的随机数组中: 您能否告诉我如何删除特定位置的元素。例如,如何删除? 我了解这里仅用于列表类型DS。 问题答案: 很简单,只需在列表项上弹出即可。