我的 JSON 数组的一部分
当我使用console.log输出元素时,我得到的结果是:
我也有一个想要搜索的唯一标识符
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"
我也有一个想要搜索的唯一标识符
var uniqueId = 803641223;
我希望能够在我的视频数组中找到正确的id,并删除整个数组元素。因此,在这种情况下,我希望我的最终视频数组只包含2个对象,而不是3个:
var videos = $j.parseJSON('
[
{ "privacy":"public",
"id":"1169341693" },
{ "privacy":"public",
"id":"1300612600" }, ......
我的问题是如何进入数组来执行splice操作。我希望使用jQuery完成。
请帮忙吗?
splice
会直接修改原数组。这取决于你想要哪个。 - Ianvideos
的值,将其赋给“filtered”列表。从技术上讲,它实现了与splice
相同的功能,只是多做了一些额外的工作。如果您想保留videos
中的原始数组,但在新变量中拥有过滤后的数组,则可以使用以下代码:var videos = [ blah blah blah ]; var filteredVideos = $.grep(videos, function(e) { return e.id!='803641223' });
- 请注意,videos
仍将包含原始数组,而filteredVideos
将包含基于uniqueId
的过滤数组。因此,您将从那里使用filteredArray
。 - Ianvideos
,从技术上讲,这与剪切相同。如果您将$.grep
的结果存储在另一个变量中,则仍将具有原始的videos
数组和新的过滤数组。因此,我评论中的示例使用了var videos = [ blah blah blah ]; var filteredVideos = $.grep(videos, function(e) { return e.id!='803641223' });
- 这应该满足保留原始内容。 - Ian