#6 Codewars - Testing 1-2-3 (7 kyu)

閱讀時間約 2 分鐘

題目

原始題目

你的團隊正在開發一個新的高級文本編輯器,你的任務是實現行號功能。

請編寫一個函數,該函數接受一個字符串列表作為輸入,並返回每行字符串前面附帶正確的行號。

行號從 1 開始計數。格式為 n: 字符串。請注意冒號和空格之間的間隔。

示例:(輸入 --> 輸出)
[ ] --> [ ]
["a", "b", "c"] --> ["1: a", "2: b", "3: c"]

拆解流程

依據題意可整理出以下重點:

  • 目標:每行字符串前方需有正確的行號
  • 規則
  1. 資料格式為 n: 字符串,注意冒號和空格之間的間隔
  2. 行號從 1 開始
  3. 傳入空陣列時,會回傳空陣列
  • 方法
  1. 建立一個新陣列,預備放置附帶行號後的字串
  2. 透過陣列方法一筆一筆更動陣列內容,此處使用 map 方法
  3. 可看出索引與行號之間有對應關係,當索引 +1 就會等同於行號

程式撰寫

var number = function (array) {
return array.map((item, i) => {
return `${i + 1}: ${item}`;
});
};

map 方法本身就會回傳一個新陣列,所以不用額外判斷陣列內容是否有值,當傳入 [ ],就會回傳 [ ]

改善寫法

不使用陣列方法,來用迴圈!

var number = function (array) {
let newArr = [];
for (let i = 0; i < array.length; i++) {
newArr.push(`${i + 1}: ${array[i]}`);
}
return newArr;
};

使用 forEach 方法

var number = function (array) {
let newArr = [];
array.forEach((item, i) => {
newArr.push(`${++i}: ${item}`);
});
return newArr;
};

今天就介紹到這裡,如果大家有更好的寫法歡迎一起來討論~

7會員
30Content count
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
留言0
查看全部
發表第一個留言支持創作者!
傑米的沙龍 的其他內容
題目:在此 kata 中,您將創建一個包含列表並返回具有相反順序的列表的函數。範例(輸入->輸出) * [1, 2, 3, 4] -> [4, 3, 2, 1] * [9, 2, 0, 7] -> [7, 0, 2, 9]
題目:如果提供的數字在0-9之間,請以文字形式返回。輸入1、輸出 “One”
題目:Scrooge先生有一筆他想投資的錢 “P”。在他這樣做之前,他想知道 “P” 這個總和,必須將其保存在銀行中多少年,以使其達到所需的 “D” 金額。該金額在每年支付利息“I”的銀行中保留 “Y” 年。在當年繳納 “T” 稅後,新款項被重新投資。稅收注意事項:不是對投資本
題目:建立一個傳回值乘以 50 並增加 6 的函數。如果輸入的值是字串,則應傳回「Error」。
Codewars 是個程式練習網站,筆者主要練習的是 JavaScript,會記錄自己的解法,並參考其他人的寫法來改善自己的程式碼,那麼我們就開始吧!
本次的挑戰是「CSS Variables」,需要達成的目標是:「使用者操作拉桿或是選色器時,底下圖片的樣式會有對應的變化。」
題目:在此 kata 中,您將創建一個包含列表並返回具有相反順序的列表的函數。範例(輸入->輸出) * [1, 2, 3, 4] -> [4, 3, 2, 1] * [9, 2, 0, 7] -> [7, 0, 2, 9]
題目:如果提供的數字在0-9之間,請以文字形式返回。輸入1、輸出 “One”
題目:Scrooge先生有一筆他想投資的錢 “P”。在他這樣做之前,他想知道 “P” 這個總和,必須將其保存在銀行中多少年,以使其達到所需的 “D” 金額。該金額在每年支付利息“I”的銀行中保留 “Y” 年。在當年繳納 “T” 稅後,新款項被重新投資。稅收注意事項:不是對投資本
題目:建立一個傳回值乘以 50 並增加 6 的函數。如果輸入的值是字串,則應傳回「Error」。
Codewars 是個程式練習網站,筆者主要練習的是 JavaScript,會記錄自己的解法,並參考其他人的寫法來改善自己的程式碼,那麼我們就開始吧!
本次的挑戰是「CSS Variables」,需要達成的目標是:「使用者操作拉桿或是選色器時,底下圖片的樣式會有對應的變化。」
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
最想斷除壞習慣是對自己的負面信念。因為平常自己就已經在批評自己了,所以只能接受讚美,不能接受批評。
Thumbnail
本週開頭大盤對應台股 6/20 端午連假期間美股回落, 因此向下修正到 16887.9 然後盤整三天.
目前盤中權證+ 立積 東元 奇鋐 金像電 權證- 裕隆 群創 愛普* 大亞 此社團純屬個人操作與看法,不代表任何買賣建議,僅供參考,盈利自負 權證隨時有變化 僅供參考
Thumbnail
相較於前一天的悲慘經驗,今天的行程只會在新宿跟原宿附近繞繞,而且並沒有過多的交通行程,想必會是一個輕鬆愉快的行程(燦笑)。 由於住宿的地方已經算是新宿車站的南端,其實距離明治神宫不算太遠,加上我們訂的旅館並沒有附早餐,所以我們想說邊走邊看看日本有什麼早餐可以吃。在前明治神宫的路上,
Thumbnail
表演課+荷文結業、結婚登記出包、21個小時路程、出發至博奈爾/Bonaire。
6/29 日誌   一年的最後一週,你們看到自己身上的什麼呢?這次寫日誌的人多了,平常寫不多的也寫了三五行,看來這段時間的獨處很有成效呢~   
雙膝跪地的屈辱身姿,這是何時的回憶?啊……想起來了,那時善良的父親與母親都還健在,諄諄囑咐自己堅硬的鱗甲是用來保護自己,銳利的雙爪只用來覓食,不是傷人的道具,從前的自己也算是樸實的人吧,為什麼會變成現在的樣子,是先天的本性還是後天的環境造成,並沒有一個確定的答案
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
最想斷除壞習慣是對自己的負面信念。因為平常自己就已經在批評自己了,所以只能接受讚美,不能接受批評。
Thumbnail
本週開頭大盤對應台股 6/20 端午連假期間美股回落, 因此向下修正到 16887.9 然後盤整三天.
目前盤中權證+ 立積 東元 奇鋐 金像電 權證- 裕隆 群創 愛普* 大亞 此社團純屬個人操作與看法,不代表任何買賣建議,僅供參考,盈利自負 權證隨時有變化 僅供參考
Thumbnail
相較於前一天的悲慘經驗,今天的行程只會在新宿跟原宿附近繞繞,而且並沒有過多的交通行程,想必會是一個輕鬆愉快的行程(燦笑)。 由於住宿的地方已經算是新宿車站的南端,其實距離明治神宫不算太遠,加上我們訂的旅館並沒有附早餐,所以我們想說邊走邊看看日本有什麼早餐可以吃。在前明治神宫的路上,
Thumbnail
表演課+荷文結業、結婚登記出包、21個小時路程、出發至博奈爾/Bonaire。
6/29 日誌   一年的最後一週,你們看到自己身上的什麼呢?這次寫日誌的人多了,平常寫不多的也寫了三五行,看來這段時間的獨處很有成效呢~   
雙膝跪地的屈辱身姿,這是何時的回憶?啊……想起來了,那時善良的父親與母親都還健在,諄諄囑咐自己堅硬的鱗甲是用來保護自己,銳利的雙爪只用來覓食,不是傷人的道具,從前的自己也算是樸實的人吧,為什麼會變成現在的樣子,是先天的本性還是後天的環境造成,並沒有一個確定的答案