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

更新於 2024/09/22閱讀時間約 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;
};

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

avatar-img
7會員
30內容數
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
傑米的沙龍 的其他內容
題目:在此 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」,需要達成的目標是:「使用者操作拉桿或是選色器時,底下圖片的樣式會有對應的變化。」
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文探討了9月15日至21日間,太陽6號閘門的能量如何影響個人關係與內心情感。重點介紹6號閘門所對應的交配通道,以及以著名作家史蒂芬·金的生命故事為切入,分析他如何在創作中表現出恐懼與人性。透過對於身體吸引及情感連結的探討,本文提供讀者對於情緒與人際關係的深入理解。
Thumbnail
6爻人的誕生在他們的「土星回歸」時發生,當他們到達「凱龍星」時,這是他們成熟的開始,這才是真正屬於他們的人生。幸運的是,我們生活在一個可以健康延年益壽的時代——七十歲、八十歲、九十歲、甚至一百歲都很常見,這為我們提供了這種機會。
Thumbnail
Juliet: 夜暗中,我獨自行走在靜寂的華岡道上,因為風的緣故,使我想起你緊偎在身邊的熟稔的感覺以及你那頭烏黑柔細的長發的撩人。 站立曠野,凝望無盡的夜空,流星劃過天際,撥響心的琴弦,空氣也微微顫動,此時此刻,讓我們手拉手,一起閉目許願,今生今世,愛情萬歲! 我很高興愛情發生在你我身上。
Thumbnail
題目:你將會得到一個單詞,你的任務是返回該單詞的中間字符。如果單詞的長度是奇數,則返回中間字符。如果單詞的長度是偶數,則返回中間的兩個字符。
Thumbnail
最想斷除壞習慣是對自己的負面信念。因為平常自己就已經在批評自己了,所以只能接受讚美,不能接受批評。
Thumbnail
本週開頭大盤對應台股 6/20 端午連假期間美股回落, 因此向下修正到 16887.9 然後盤整三天.
目前盤中權證+ 立積 東元 奇鋐 金像電 權證- 裕隆 群創 愛普* 大亞 此社團純屬個人操作與看法,不代表任何買賣建議,僅供參考,盈利自負 權證隨時有變化 僅供參考
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文探討了9月15日至21日間,太陽6號閘門的能量如何影響個人關係與內心情感。重點介紹6號閘門所對應的交配通道,以及以著名作家史蒂芬·金的生命故事為切入,分析他如何在創作中表現出恐懼與人性。透過對於身體吸引及情感連結的探討,本文提供讀者對於情緒與人際關係的深入理解。
Thumbnail
6爻人的誕生在他們的「土星回歸」時發生,當他們到達「凱龍星」時,這是他們成熟的開始,這才是真正屬於他們的人生。幸運的是,我們生活在一個可以健康延年益壽的時代——七十歲、八十歲、九十歲、甚至一百歲都很常見,這為我們提供了這種機會。
Thumbnail
Juliet: 夜暗中,我獨自行走在靜寂的華岡道上,因為風的緣故,使我想起你緊偎在身邊的熟稔的感覺以及你那頭烏黑柔細的長發的撩人。 站立曠野,凝望無盡的夜空,流星劃過天際,撥響心的琴弦,空氣也微微顫動,此時此刻,讓我們手拉手,一起閉目許願,今生今世,愛情萬歲! 我很高興愛情發生在你我身上。
Thumbnail
題目:你將會得到一個單詞,你的任務是返回該單詞的中間字符。如果單詞的長度是奇數,則返回中間字符。如果單詞的長度是偶數,則返回中間的兩個字符。
Thumbnail
最想斷除壞習慣是對自己的負面信念。因為平常自己就已經在批評自己了,所以只能接受讚美,不能接受批評。
Thumbnail
本週開頭大盤對應台股 6/20 端午連假期間美股回落, 因此向下修正到 16887.9 然後盤整三天.
目前盤中權證+ 立積 東元 奇鋐 金像電 權證- 裕隆 群創 愛普* 大亞 此社團純屬個人操作與看法,不代表任何買賣建議,僅供參考,盈利自負 權證隨時有變化 僅供參考