JavaScript 字串遮蔽


上述問題陳述是關於使用 JavaScript 中的星號來遮蔽字串中的子字串。因此,我們必須建立一個函式來獲取包含一些隱藏字元的字串。

理解問題陳述

在上述問題陳述中,我們必須使用 JavaScript 中的星號來遮蔽字串中的子字串。遮蔽給定字串意味著我們必須用其他字元替換給定字串中的某些字元。通常使用星號來隱藏敏感資訊,例如密碼、信用卡號碼和其他機密資料。

上述問題的邏輯

問題陳述提供了一個示例程式碼片段,該片段展示瞭如何實現一個函式,該函式接受三個引數:輸入字串、要遮蔽的子字串的起始索引和要遮蔽的子字串的結束索引。該函式將用星號替換子字串中的字元,並返回生成的遮蔽字串。

演算法

步驟 1 − 建立獲取遮蔽字串的函式。此函式將接收輸入字串 str、子字串的起始索引和結束索引。

步驟 2 − 檢查輸入條件,如果字串無效、為空、為負或大於。如果條件為真,則按原樣返回字串。

步驟 3 − 計算字串的遮蔽長度。透過獲取結束點和起始點之間的差值。

步驟 4 − 然後透過獲取起始點和結束點來定義遮蔽字串,並在我們必須隱藏字元的位置放置星號。

步驟 5 − 在函式結束時返回遮蔽字串

演算法程式碼

// function to get the masking the given string
function maskingString(str, start, end) {
   if (!str || start < 0 || start >= str.length || end < 0 || end > str.length || start >= end) {
      return str;
   }
   const maskLength = end - start;
   const maskedStr = str.substring(0, start) + "*".repeat(maskLength) + str.substring(end);
   return maskedStr;
}
const inputStr = "9876543210";
const maskedStr = maskingString(inputStr, 2, 8);
console.log(maskedStr);

複雜度

問題陳述提到了用於實現此函式的演算法的複雜度為 O(n)。這裡 n 是輸入字串的長度。這意味著函式遮蔽子字串所需的時間與輸入字串的長度成正比。

結論

上述演算法提出了一個常見的程式設計問題,即遮蔽字串中的子字串,並提供了一個 JavaScript 示例解決方案及其複雜度分析。

更新於:2023年5月18日

5K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.