我的函数没有返回预期的输出,我不知道为什么;有人可以指出我遗漏的东西吗?

托尼·莫里斯

我的函数必须采用 2 个数组,如果其中一个数组比另一个短,则需要用空值填充空格。

所以现在我可以更轻松地做这件事,但我真的很想知道我错过了什么。

我的代码的特定部分是嵌套的 forEach 循环,当我像这样调用我的函数时,我无法理解

fillSquare([1,2,3],[1,2,3,4,5])

我得到[[1,2,3,4,5],[1,2,3,4,5]]而不是[[1,2,3,null,null][1,2,3,4,5]]

const fillSquare = arr => {
  const maxArrayLength = Math.max(
    ...arr.map(arr => {
      return arr.length;
    })
  );



  let arrayMatrix = new Array(arr.length).fill(
    new Array(maxArrayLength).fill(null)
  );

  arr.forEach((arry, mainIndex) => {
    arry.forEach((item, subIndex) => {
      console.log(mainIndex, "<--main", "sub-->", subIndex, "=", item);
      arrayMatrix[mainIndex][subIndex] = item;
    });
  });
  console.log(arrayMatrix);
  return arrayMatrix;
};

雅各布·托马斯

调试的时候,好像:

let arrayMatrix = new Array(arr.length).fill(
   new Array(maxArrayLength).fill(null)
);

// arrayMatrix[1] == arrayMatrix[0] => true

仅创建 1 个数组实例。在一个上设置 1 个值,在两个上设置它。

这是如何解决您的问题

let arrayMatrix = new Array(arr.length).fill(0).map( _ => new Array(maxArrayLength).fill(null));

这是我的版本 - 现在不可变

function fillSquare(arr) {
    let clone = [...arr]
    let maxDepth = arr.reduce( (c, subarr) => c = Math.max(c, subarr.length), 0)
    clone.forEach((subarr, index) => {
        let len = clone[index].length;
        clone[index].length = maxDepth;
        clone[index].fill(null, len, maxDepth);
    })
    return clone;
}

导入注释是您可以设置长度并填充空白。如果需要,还可以查看减少

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我收到ArrayIndexOutOfBounds异常,我不知道为什么。有人可以照亮吗?

来自分类Dev

python django中没有显示喜欢的次数....我不知道为什么..有人可以帮我吗

来自分类Dev

获取stackoverflowexception,不知道为什么。有人可以帮忙吗?

来自分类Dev

有人知道为什么我的查询没有任何结果吗?

来自分类Dev

我的Paint方法运行两次,我不知道为什么。我该如何解决这个问题,有人知道为什么会这样吗?

来自分类Dev

我的Paint方法运行两次,我不知道为什么。我该如何解决这个问题,有人知道为什么会这样吗?

来自分类Dev

我有一个论点问题,我不知道为什么吗?

来自分类Dev

我不知道为什么我的下拉菜单没有隐藏

来自分类Dev

我不知道为什么我的图像没有显示在框架上

来自分类Dev

我的innerHTML命令没有更改任何内容,我不知道为什么

来自分类Dev

我不知道为什么我的下面的结构没有设置

来自分类Dev

我不知道为什么我的程序没有进入循环

来自分类Dev

我删除结构条目的代码没有删除,我不知道为什么

来自分类Dev

我不知道为什么即使没有错误它也保持空白。

来自分类Dev

不知道为什么帖子没有插入我的数据库

来自分类Dev

反应类没有被导出,我不知道为什么?

来自分类Dev

不知道为什么我的 flexbox 项目内容没有位于中心

来自分类Dev

嗨,我是新手,真的不知道我在做什么,有人可以帮助我完成我的项目吗

来自分类Dev

我可以知道为什么这段代码没有给出任何输出吗?

来自分类Dev

不知道为什么我的python输出循环

来自分类Dev

当我运行此代码时,它输出40,而不是39。有人知道为什么吗?

来自分类Dev

我写了一些代码来找到一个阿姆斯特朗数,我不知道为什么它没有给我错误的输出?

来自分类Dev

不知道为什么我的 cursorForObjectInConnection 返回 null?

来自分类Dev

我是python新手,使用print函数时遇到语法错误,有人知道为什么吗?

来自分类Dev

函数已执行,我不知道为什么

来自分类Dev

我用来将“ find”更改为“ {nd”的字体。有人知道为什么吗?

来自分类Dev

我的Mandelbrot看起来不应该。有人知道为什么吗?

来自分类Dev

有人知道为什么我的变换比例 css 不起作用吗?

来自分类Dev

我不知道为什么在调试Google Analytics(分析)时没有发送我的跟踪信标

Related 相关文章

  1. 1

    我收到ArrayIndexOutOfBounds异常,我不知道为什么。有人可以照亮吗?

  2. 2

    python django中没有显示喜欢的次数....我不知道为什么..有人可以帮我吗

  3. 3

    获取stackoverflowexception,不知道为什么。有人可以帮忙吗?

  4. 4

    有人知道为什么我的查询没有任何结果吗?

  5. 5

    我的Paint方法运行两次,我不知道为什么。我该如何解决这个问题,有人知道为什么会这样吗?

  6. 6

    我的Paint方法运行两次,我不知道为什么。我该如何解决这个问题,有人知道为什么会这样吗?

  7. 7

    我有一个论点问题,我不知道为什么吗?

  8. 8

    我不知道为什么我的下拉菜单没有隐藏

  9. 9

    我不知道为什么我的图像没有显示在框架上

  10. 10

    我的innerHTML命令没有更改任何内容,我不知道为什么

  11. 11

    我不知道为什么我的下面的结构没有设置

  12. 12

    我不知道为什么我的程序没有进入循环

  13. 13

    我删除结构条目的代码没有删除,我不知道为什么

  14. 14

    我不知道为什么即使没有错误它也保持空白。

  15. 15

    不知道为什么帖子没有插入我的数据库

  16. 16

    反应类没有被导出,我不知道为什么?

  17. 17

    不知道为什么我的 flexbox 项目内容没有位于中心

  18. 18

    嗨,我是新手,真的不知道我在做什么,有人可以帮助我完成我的项目吗

  19. 19

    我可以知道为什么这段代码没有给出任何输出吗?

  20. 20

    不知道为什么我的python输出循环

  21. 21

    当我运行此代码时,它输出40,而不是39。有人知道为什么吗?

  22. 22

    我写了一些代码来找到一个阿姆斯特朗数,我不知道为什么它没有给我错误的输出?

  23. 23

    不知道为什么我的 cursorForObjectInConnection 返回 null?

  24. 24

    我是python新手,使用print函数时遇到语法错误,有人知道为什么吗?

  25. 25

    函数已执行,我不知道为什么

  26. 26

    我用来将“ find”更改为“ {nd”的字体。有人知道为什么吗?

  27. 27

    我的Mandelbrot看起来不应该。有人知道为什么吗?

  28. 28

    有人知道为什么我的变换比例 css 不起作用吗?

  29. 29

    我不知道为什么在调试Google Analytics(分析)时没有发送我的跟踪信标

热门标签

归档