当前位置:  开发笔记 > 编程语言 > 正文

循环通过2个数组

如何解决《循环通过2个数组》经验,为你挑选了1个好方法。

我试图循环2个数组.第一个数组是链接名称,第二个数组是链接'a'值.我想循环遍历两个数组,将第二个数组的值附加到第一个数组中创建的/每个链接的href.这就是我所拥有的,它不适合我.

const links = ['Home', 'Contact', 'About'];
const hrefLinks = ['/', 'contact', 'about'];

for (let i = 0; i < links.length; i++) {
    for (let j = 0; j < hrefLinks.length; i++) {
        if (links.length === hrefLinks.length) {
            const li = document.createElement('li');
            const liLink = document.createElement('a');
            liLink.setAttribute('href', hrefLinks[i]);
            liLink.className = 'Test-Class';
            li.appendChild(liLink);
            li.className = 'nav-link';
            list.appendChild(li);
            li.innerHTML += links[i];
        }
    }
}

我确实让它与一个forEach循环一起工作,但是我对如何嵌套第二个forEach感到困惑;

const links = ['Home', 'Contact', 'About'];
const hrefLinks = ['/', 'contact', 'about'];

 links.forEach(function (link) {
     const li = document.createElement('li');
     const liLink = document.createElement('a');
     li.appendChild(liLink);
     li.className = 'nav-link';
     list.appendChild(li);
     li.innerHTML += link;
 });

这是这样做的正确方法还是有更简单/更清洁的方法?



1> CertainPerfo..:

你不想嵌套循环-你只需将链接i个项中linksi的个项hrefLinks.有了forEach,你可以通过使用回调的第二个参数来做到这一点,它将引用迭代的当前索引:

const list = document.body.appendChild(document.createElement('ul'));


const links = ['Home', 'Contact', 'About'];
const hrefLinks = ['/', 'contact', 'about'];

links.forEach((linkName, i) => {
  const li = document.createElement('li');
  const a = document.createElement('a');
  a.href = hrefLinks[i];
  a.textContent = linkName;
  li.appendChild(a);
  li.className = 'nav-link';
  list.appendChild(li);
});
推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有