Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Pad Rentetan ke Panjang yang Diingini dalam JavaScript?

Bagaimanakah Saya Boleh Pad Rentetan ke Panjang yang Diingini dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-30 08:01:14876semak imbas

How Can I Pad Strings to a Desired Length in JavaScript?

Menambah Rentetan dalam JavaScript

Pengenalan

JavaScript menyediakan pelbagai kaedah untuk mencapai tugas manipulasi rentetan tertentu. Satu tugas sedemikian ialah mengalas rentetan ke panjang yang diingini, mengisi ruang kosong dengan aksara. Artikel ini membincangkan cara yang berbeza untuk melapik rentetan dalam JavaScript.

Penyelesaian Menggunakan String.padStart

ECMAScript 2017 (ES8) memperkenalkan kaedah String.padStart untuk tujuan ini. Ia memerlukan dua parameter: panjang yang diingini dan rentetan padding pilihan (yang lalai kepada ruang).

"Jonas".padStart(10); // Default pad string is a space
"42".padStart(6, "0"); // Pad with "0"
"*".padStart(8, "-/|\"); // produces '-/|\-/|*'

Polyfill untuk String.padStart

Jika String.padStart tidak disokong dalam anda Persekitaran JavaScript, anda boleh menambahkannya sebagai polyfill:

if (!String.prototype.padStart) {
  String.prototype.padStart = function(length, padString) {
    padString = padString || " ";
    if (this.length >= length) return this;
    else return padString.repeat(length - this.length) + this;
  };
}

Menggunakan String Penggabungjalinan

Cara mudah untuk melapik rentetan ialah menggabungkannya dengan aksara padding yang diingini.

var n = 123

String("00000" + n).slice(-5); // returns 00123
("00000" + n).slice(-5); // returns 00123
("     " + n).slice(-5); // returns "  123" (with two spaces)

Memperluaskan Objek Rentetan

Anda juga boleh memanjangkan objek Rentetan untuk memasukkan kaedah paddingLeft untuk kemudahan anda.

String.prototype.paddingLeft = function (paddingValue) {
   return String(paddingValue + this).slice(-paddingValue.length);
};

Contoh Penggunaan

function getFormattedTime(date) {
  var hours = date.getHours();
  var minutes = date.getMinutes();

  hours = hours.toString().paddingLeft("00");
  minutes = minutes.toString().paddingLeft("00");

  return "{0}:{1}".format(hours, minutes);
};

String.prototype.format = function () {
    var args = arguments;
    return this.replace(/{(\d+)}/g, function (match, number) {
        return typeof args[number] != 'undefined' ? args[number] : match;
    });
};

Kod ini akan mengembalikan masa dalam format "15:30".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Pad Rentetan ke Panjang yang Diingini dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn