javascript - 用键将数组插入数组

标签 javascript casperjs

我目前正在处理数组并将项目插入数组中。下面我有 for 循环,在 CasperJS 内部被调用,链接被废弃并放置在数组中。页面链接放置在名为 page_links 的数组中,视频链接放置在名为 video_links 的数组中。不过我正在尝试将两个数组合并为一个数组。如何用键推送数组中的项目?

var page_links = [];
var video_links = [];

for (var i = 0; i < categoryUrls.length; i++)
{ // start for loop
    casper.thenOpen(categoryUrls[i], function() {
        tryAndScroll(this);
        casper.then(function() {
          this.getElementsInfo('.title').forEach(function(element) {
            // skip elements that don't have a href attribute...
            if (!element.attributes.href) {
              return;
            }
            page_links.push( element.attributes.href );
            casper.thenOpen(element.attributes.href, function() {
              this.click('.responsivewrapper');
            }).then(function(){
              casper.each(this.getElementsInfo('.badge-youtube-player'), function(casper, element, j) {
                video_links.push( element["attributes"]["src"] );
              });
            });
          });
        });
    });
}

期望的结果

{ { 'page_link' : 'www.example.com', 'video_link' : 'www.example.com' }, {  'page_link' : 'www.example.com', 'video_link' : 'www.example.com' } }

最佳答案

将数组视为可以通过我在这里不考虑的任何方式获得的数组 -

var page_links = [ "Link1", "link2" ];
var video_links = [ "vlink1", "vlink2" ];

还假设两个数组的长度相同(您可以应用逻辑来检查这一点,我在这里省略了),这是解决方案

var finalArr = [];
for(var ii = 0, ll = page_links.length; ii < ll; ii++) {
    finalArr[ii] = {};
    finalArr[ii].page_link = page_links[ii];
    finalArr[ii].video_link = video_links[ii];
}

Thie finalArr 将使用以下数组详细信息进行更新

[{page_link: "Link1", video_link: "vlink1"}, ...];

关于javascript - 用键将数组插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29092232/

相关文章:

javascript - Safari 的 RTCDataChannel 实现完全损坏了吗?

javascript - 如何确定 Javascript 数组是否包含具有等于给定值的属性的对象?

javascript - 如何一个接一个地运行一个脚本?

windows - 如何在 Windows 上使用 CasperJS 设置 SlimerJS?

javascript - CasperJS 下载并将文件保存到特定位置

phantomjs - casperjs 下载 csv 文件

javascript - karma +typescript + SystemJS -- 缓存问题

javascript - 仅显示美国完整县 map 中的一个州及其县

javascript - querySelectorAll 无法识别 var

python Mechanize 空白下载或如何在casperjs中进行