3 回答
TA贡献1841条经验 获得超3个赞
// creates a new array of the specified length,
// filled with undefined
const arr = new Array(3);
// [undefined, undefined, undefined]
// join the elements of the array, using ‘x’ to connect them:
arr.join(‘x’);
// undefined + ‘x’ + undefined + ‘x’ + undefined
// ‘xx’
TA贡献1848条经验 获得超10个赞
new Array(count + 1)
给你一个 count + 1 长度的空数组。
array.join(string)
将数组的内容与string
每个元素之间的 in 连接起来。
在您的情况下,new Array(count + 1).join(string)
返回 aaaa,因为有 5 个空格,每个空格之间有一个“a”。
TA贡献1796条经验 获得超7个赞
数组构造器
Array() 构造函数 - JavaScript | MDN
句法
新数组(数组长度)
arrayLength 如果传递给 Array 构造函数的唯一参数是 0 到 2^32-1(含)之间的整数,这将返回一个新的 JavaScript 数组,其 length 属性设置为该数字(注意:这意味着 arrayLength 空槽数组,而不是具有实际未定义值的插槽)。如果参数是任何其他数字,则会抛出 RangeError 异常
new Array(4)
是同一个空数组[,,,,]
。
加入
Array.prototype.join() - JavaScript | MDN
join() 方法通过连接数组(或类似数组的对象)中的所有元素来创建并返回一个新字符串,以逗号或指定的分隔符字符串分隔。
回应评论的附录
那么任何其他不大于 232 的值都会给我范围错误吗?
对不起。因为权力是用HTML表达的,所以我没有很好地复制和粘贴权力。我将 232 固定为 2^32。
正如@ray hatfield 评论的那样,遍历数组的不是 232 。
您可以通过执行以下操作来确认错误:
new Array(Infinity)
VM67:1 未捕获的 RangeError:数组长度无效:1:1
和
new Array(2**32)
VM337:1 未捕获的 RangeError:数组长度无效:1:1
并且下面的代码不会产生错误。
new Array(2**32-1)
添加回答
举报