[プログラマー]携帯番号を隠す-Javascript

3542 ワード

質問リンク
質問する
プログラマのモバイルデバイスは、個人情報を保護する通知を送信すると、お客様の電話番号の一部を遮断します.
電話番号に文字列phone numberが付与されている場合、電話番号の後ろ4桁を除いて、他の数字がすべて*で上書きされている文字列は、関数に戻って解決策を完了してください.
I/O例
phone_numberreturn"01033334444""* * * * * * *4444""027778888""* * * * *8888"
に答える
.repeat(), .substring()メソッドを使用します.
  • str.repeat(count);
    repeat()メソッドは、文字列を所定の回数繰り返し貼り付けた新しい文字列を返します.
  • str.substring(開始、終了または開始);
    stringオブジェクトの開始インデックスから終了インデックスまで、文字列の一部の文字列を返します.
  • function solution(phone_number) {
        const len = phone_number.length - 4;
        return "*".repeat(len) + phone_number.substring(len);
        // 뒤 4자리를 기준으로 앞의 번호들을 repeat를 사용해 *처리해주고, substring은 인덱스 값을 사용해 시작점을 정해줄 수 있다.
    }
    混同主義!
    .repeat()は、パラメータ値と同じ新しい文字列を返します.substring()はパラメータ値をインデックス値とし、その点から部分文字列を返します.
    substring()ではなくslice()の使用を推奨するのを見て、slice()で再解釈しました.
  • str.slice(開始、終了または開始);
    配列の開始から終了(終了を含まない)までの浅いコピーを新しい配列オブジェクトに返します.元の配列は変更されません.負数を使用する場合は、後からロードします.
  • function solution(phone_number) {
        const len = phone_number.length - 4;
        return "*".repeat(len) + phone_number.slice(-4);
        // 뒤 4자리를 기준으로 앞의 번호들을 repeat()를 사용해 *처리해주고, slice()를 사용해 뒤의 4자리만 불러온다.
    }
    Takeaway
    これは私の好きな方法で解決した問題です.
    それぞれ異なる機能を提供する方法ですが、利用率によって同じ効率が見られるのは不思議な問題です.slice()はパラメータとして負の値をサポートします.覚えておいてください.