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

Javascript:这个`Array(i + 1)`做什么?

如何解决《Javascript:这个`Array(i+1)`做什么?》经验,为你挑选了1个好方法。

嗨,我找到了解决代码问题的解决方案,我不确定语法的作用是什么.该函数接受一串字符,并根据长度以特定方式返回.

input ="abcd"; output ="A-Bb-Ccc-Dddd"input ="gFkLM"; 输出="G-Ff-Kkk-Llll-Mmmmm"

这家伙发布了这个解决方案

function accum(str) {
  var letters = str.split('');
  var result = [];
  for (var i = 0; i < letters.length; i++) {
    result.push(letters[i].toUpperCase() + Array(i + 1).join(letters[i].toLowerCase()));
  }
  return result.join('-');
}

有点困惑整体解决方案,但有一点特别唠叨我.看到了Array(i + 1)吗?那是做什么的?对不起,google不是一件容易的事.



1> dana..:

我相信这会分配一个长度数组i + 1.但更重要的是,代码在做什么?你必须知道join()函数的作用......它连接由函数参数分隔的数组中的元素.例如:

['one', 'two', 'three'].join(' ') === 'one two three'

在这种情况下,数组中填充了undefined元素,因此您得到如下内容:

[undefined].join('a') === ''
[undefined, undefined].join('b') === 'b'
[undefined, undefined, undefined].join('c') === 'cc'
[undefined, undefined, undefined, undefined].join('d') === 'ddd'

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有