亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

代碼“new Array(count + 1).join(string)”是什么意思?

代碼“new Array(count + 1).join(string)”是什么意思?

HUWWW 2023-01-06 16:09:43
我有一個代碼 在字符串或計數中打印 aaaa 錯誤。字符串或計數錯誤。字符串或計數錯誤。function repeat_string(string, count)   {    if ((string == null) || (count < 0) || (count === Infinity) || (count == null))      {        return('Error in string or count.');      }        // Floor count.    return new Array(count + 1).join(string);  }console.log(repeat_string('a', 4));console.log(repeat_string('a'));console.log(repeat_string('a', -2));console.log(repeat_string('a', Infinity));但我不明白為什么有 4 次,即 return new Array(count + 1).join(string); 做??
查看完整描述

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’


查看完整回答
反對 回復 2023-01-06
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

new Array(count + 1)給你一個 count + 1 長度的空數組。

array.join(string)將數組的內容與string每個元素之間的 in 連接起來。

在您的情況下,new Array(count + 1).join(string)返回 aaaa,因為有 5 個空格,每個空格之間有一個“a”。


查看完整回答
反對 回復 2023-01-06
?
蕪湖不蕪

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)


查看完整回答
反對 回復 2023-01-06
  • 3 回答
  • 0 關注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號