Jquery 将重复数组值推送到新数组中 var-videoIndex=0; 函数createVideoList(){ var list=“”; var v=0; $.each(videoarr,函数(索引,值){ var name=videoarr[v]。名称; var img=videoarr[v].img; 列表=列表+“” v=v+1; }); $('#videoresult').html(列表); } $(文档)。在(“pagebeforeshow”,“视频页面”,函数(){ createVideoList(); displayLikedVideo(); }) 函数displayLikedVideo(){ var=”; var i=0; $。每个(文件、视频、函数(索引、值){ var name=field\u video[i]。名称; var img=field_video[i].img; 喜欢=喜欢+“” i=i+1; }); $('liked#u video').html(liked); }

Jquery 将重复数组值推送到新数组中 var-videoIndex=0; 函数createVideoList(){ var list=“”; var v=0; $.each(videoarr,函数(索引,值){ var name=videoarr[v]。名称; var img=videoarr[v].img; 列表=列表+“” v=v+1; }); $('#videoresult').html(列表); } $(文档)。在(“pagebeforeshow”,“视频页面”,函数(){ createVideoList(); displayLikedVideo(); }) 函数displayLikedVideo(){ var=”; var i=0; $。每个(文件、视频、函数(索引、值){ var name=field\u video[i]。名称; var img=field_video[i].img; 喜欢=喜欢+“” i=i+1; }); $('liked#u video').html(liked); },jquery,arrays,Jquery,Arrays,我第一次点击saved按钮时,它将数组值按了一次到新数组中。但是,如果我尝试保存另一个数组值。它将两次推入新阵列: 到目前为止,如果我尝试保存第3个数组值,它会将3次推送到新数组。对不起,解释得不好。。。有人知道原因吗?您是否试图在数组中逐个推送值?表示在第一次点击时插入第一项,第二次点击时插入第二项?如果是这样,您的videoIndex没有增加,因此它只推送第一项。在这种情况下,您需要增加videoIndex: var videoIndex = 0; function createVideo

我第一次点击saved按钮时,它将数组值按了一次到新数组中。但是,如果我尝试保存另一个数组值。它将两次推入新阵列:


到目前为止,如果我尝试保存第3个数组值,它会将3次推送到新数组。对不起,解释得不好。。。有人知道原因吗?

您是否试图在数组中逐个推送值?表示在第一次点击时插入第一项,第二次点击时插入第二项?如果是这样,您的
videoIndex
没有增加,因此它只推送第一项。在这种情况下,您需要增加
videoIndex

var videoIndex = 0;
function createVideoList() {
  var list = "";
  var v = 0;
  $.each(videoarr, function (index, value) {
    var name = videoarr[v].name;
    var img = videoarr[v].img;
    list = list + "<div id='video'><a href='#'><img src='" + img + "' id='videoimg'/><h4>" + name + 
 "</h4></a></div>"
    v = v + 1;
  });
  $('#videoresult').html(list);
}

  $(document).on("pagebeforeshow", "#videopage", function () {
  createVideoList();

  displayLikedVideo();
})



function displayLikedVideo() {
  var liked = "";
  var i = 0;
  $.each(filed_video, function (index, value) {
    var name = filed_video[i].name;
    var img = filed_video[i].img;
    liked = liked + "<div id='video'><a href='#'><img src='" + img + "' id='videoimg'/><h4>" + name 
   + "</h4></a></div>"
    i = i + 1;
  });
  $('#liked_video').html(liked);
}
如果希望每次重置数组并插入新项,问题在于全局声明
var field\u video=[]。从顶部移除这个,并像这样包含在你的动作中

$(document).on('pageshow', '#videopage', function () {
  $('#saved_video').on('tap', function () {
    filed_video.push(videoarr[videoIndex]);
    console.log(filed_video);
    videoIndex=videoIndex+1;
  });
})
编辑

var filed_video=[];
var videoarr=[{
姓名:Japchae:잡채 (蔬菜炒面),
日期:2014年11月4日,
img:'https://www.maangchi.com/wp-content/uploads/2007/07/japchae_plate.jpg',
YoutubeId:'i1djfV9uigc',
FullRecipeUrl:'https://www.maangchi.com/recipe/japchae',
描述:“日本面,一种用蔬菜和肉类炒制的红薯淀粉面,是韩国最受欢迎的菜肴之一,也是我网站上最受欢迎的菜肴之一。单独炒每一种配料似乎需要很多劳动,但每一种都需要不同的烹调时间和一点护理,并保持红薯的颜色和新鲜度。”ach成分完好无损,最终呈现效果令人惊叹。”
},
{
名称:“麻辣年糕”,
日期:“2013年1月30日”,
img:'https://www.maangchi.com/wp-content/uploads/2007/09/ddeokbokki_sizzlingpot.jpg',
YoutubeId:'TA3Uo3a9674',
FullRecipeUrl:'https://www.maangchi.com/recipe/tteokbokki',
描述:“当我住在韩国时,我从一个市场的著名地方学到了制作好tteokbokki的秘诀。它由一位老太太经营,她总是在搅拌她的tteokbokki。人们排队购买它。”
}
];
var指数=0;
函数createVideoList(){
var list=“”;
var v=0;
$.each(videoarr,函数(索引,值){
var name=videoarr[v]。名称;
var img=videoarr[v].img;
列表=列表+“”
v=v+1;
});
$('#videoresult').html(列表);
}
函数displayLikedVideo(){
var=”;
var i=0;
$。每个(文件、视频、函数(索引、值){
var name=field\u video[i]。名称;
var img=field_video[i].img;
喜欢=喜欢+“”
i=i+1;
});
$('liked#u video').html(liked);
}
$(函数(){
$(“#已保存的_视频”)。在('单击',函数(){
归档视频推送(videoarr[videoIndex]);
控制台日志(已归档的视频);
videoIndex=videoIndex+1;
});
createVideoList();
displayLikedVideo();
});

配方视频
上传视频

最喜欢的食谱
这样地


对不起,我已经更新了我的html页面,我想要的是每次点击saved_video按钮。我点击的特定值将被推送到新数组中…我尝试了你建议的两种方法…但重复的方法仍然存在。。你还有其他建议吗?非常感谢您的帮助如果我尝试点击第二个值将其推入数组,它会将特定值推入数组2次。如果我点击另一个值,那么它会将该特定值推送到数组中3次。你到底想做什么?我有点困惑,我有点怀疑。我只能看到一个
已保存的\u视频
按钮。它不在循环中。如何获得多个like按钮?createvideolist函数将在videodetail页面html中显示所有数组值。因此,每次按下特定页面的“保存”按钮时,我只想将该值推送到数组中
$(document).on('pageshow', '#videopage', function () {
  $('#saved_video').on('tap', function () {
    var filed_video = [];
    filed_video.push(videoarr[videoIndex]);
    console.log(filed_video);
  });
})