Javascript 嵌套数组返回偶数

标签 javascript arrays nested-loops

我正在尝试编写一个函数,它只打印嵌套数组中的偶数。这是我的尝试,它一直返回“未定义”。

function printEvents(){

 var nestedArr = [[1,2,3],[4,5,6],[7,8],[9,10,11,12]];

  for (var i = 0; i<nestedArr.length; i++) {
    for (var j = 0; j<nestedArr[i]; j++) {
      var evenNumbers = nestedArr[i][j]
    }
  }

  if (evenNumbers % 2 == 0) {
    console.log(evenNumbers)
  }

 }

 printEvents(); 

最佳答案

如果项目是数组,您可以使用递归方法。您需要将均匀度测试移到 for 循环中。

function printEvents(array) {
    var i;
    for (i = 0; i < array.length; i++) {
        if (Array.isArray(array[i])) {
            printEvents(array[i]);
            continue;
        }
        if (array[i] % 2 == 0) {
            console.log(array[i]);
        }
    }
}

printEvents([[1, 2, 3], [4, 5, 6], [7, 8], [9, 10, 11, 12], [[[13, [14]]]]]);

带回调的解决方案

function getEven(a) {
    if (Array.isArray(a)) {
        a.forEach(getEven);
        return;
    }
    if (a % 2 == 0) {
        console.log(a);
    }
}

getEven([[1, 2, 3], [4, 5, 6], [7, 8], [9, 10, 11, 12], [[[13, [14]]]]]);

关于Javascript 嵌套数组返回偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44609035/

相关文章:

javascript - 如何使用 maskRe 限制 ExtJs Textfield 只接受数字。 (应接受 Positive 、 Negative 、整数和小数。)

javascript - 为什么有些网站使用 GET 参数访问特定版本的 CSS 或 JavaScript 文件?

javascript - 从地理位置字符串中提取纬度/经度

c - 如何让多维数组更不容易导致精神错乱?

c++ - 使用多个排序键实现排序的自定义比较器

python - 我需要使我的程序嵌套循环工作更简单,因为操作时间是最长的

java - if-else 中嵌套 do-while 循环 : variable not initialized

javascript - 在没有map.onMouseMove的情况下在GoogleMaps中获取光标下的纬度和经度

php - 使用数组检索错误消息

python - 数半金字塔 Python