在JavaScript中循环遍历单个数组和多维数组

问题描述 投票:0回答:2

我刚刚开始使用JavaScript并希望迭代一个数组,然后将其与二维数组中的行量值进行匹配。这是我到目前为止所得到的:

const relatedKeywords = ['keyword1','keyword2','keyword3'];
const relatedURLs = 
[ [ 'https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/' ],
  [ 'https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/' ],
  [ 'https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/' ] ]

      for (let y = 0; y < relatedKeywords.length; y++) {

        for (let z = 0; z < relatedURLs[0].length; z++) {
          console.log(relatedURLs[z].length)
        }
      }

这将返回2d数组中的URL量,但迭代6次。理想情况下,我想达到输出看起来像这样的程度:

Keyword1 = 2 URLs
Keyword2 = 2 URLs
Keyword3 = 2 URLs
javascript arrays multidimensional-array
2个回答
0
投票

只需使用forEach和模板文字字符串,如下所示:

const relatedKeywords = ['keyword1', 'keyword2', 'keyword3'];
const relatedURLs = [
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ],
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ],
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ]
];

relatedKeywords.forEach((item, index) => {
  console.log(`${item} = ${relatedURLs[index].length} URLs`);
});

您需要ES5语法:

const relatedKeywords = ['keyword1', 'keyword2', 'keyword3'];
const relatedURLs = [
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ],
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ],
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ]
];

relatedKeywords.forEach(function(item, index) {
  console.log(item + " = " + relatedURLs[index].length + " URLs");
});

使用for循环:

const relatedKeywords = ['keyword1', 'keyword2', 'keyword3'];
const relatedURLs = [
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ],
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ],
  ['https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/'
  ]
];

for (var index = 0; index < relatedKeywords.length; index++) {
  let item = relatedKeywords[index];
  console.log(item + " = " + relatedURLs[index].length + " URLs");
}

0
投票

我只是使用数组映射并按照其要求的方式处理它

const relatedKeywords = ['keyword1','keyword2','keyword3'];
const relatedURLs = 
[ [ 'https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/' ],
  [ 'https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/' ],
  [ 'https://en.wikipedia.org/wiki/Coffee',
    'https://www.joscoffee.com/' ] ]

    
relatedKeywords.map(function(value,index) {
  console.log(value + ' = ' + relatedURLs[index].length + ' URLs');
});
© www.soinside.com 2019 - 2024. All rights reserved.