String.prototype.padEnd()
< JavaScript | String
الدالة String.prototype.padEnd()
تحشو السلسلة النصية الحالية من نهايتها بإضافة السلسلة النصية المُعطاة (مع تكرارها إن لزم) لإنشاء سلسلة نصية جديدة لها طول معيّن.
البنية العامة
str.padEnd(targetLength [, padString])
targetLength
طول السلسلة النصية الناتجة بعد إضافة الحاشية، وإذا كانت القيمة أقل من طول السلسلة النصية الحالي، فستُعاد السلسلة النصية كما هي.
padString
السلسلة النصية التي ستُضاف إلى السلسلة النصية الحالية. وإذا كانت طويلة جدًا مما لا يجعلها تتسع في الطول المُحدَّد فستُقصّ وتُطبَّق بدايتها على السلسلة النصية الأصلية. القيمة الافتراضية لهذا الوسيط هي الفراغ " " (أي U+0020)
القيمة المعادة
سلسلة نصية مع إضافة حاشية في نهايتها.
أمثلة
استخدام padEnd()
'abc'.padEnd(10); // "abc "
'abc'.padEnd(10, "foo"); // "abcfoofoof"
'abc'.padEnd(6, "123456"); // "abc123"
'abc'.padEnd(1); // "abc"
تعويض نقص دعم المتصفحات
أُضيفَت هذه الدالة لأوّل مرة في معيار ECMAScript 2017، وما يزال دعمها محدودًا، لذا يمكنك الاستعانة بالشيفرة الآتية لتعريفها:
// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
if (!String.prototype.padEnd) {
String.prototype.padEnd = function padEnd(targetLength,padString) {
targetLength = targetLength>>0; //floor if number or convert non-number to 0;
padString = String(padString || ' ');
if (this.length > targetLength) {
return String(this);
}
else {
targetLength = targetLength-this.length;
if (targetLength > padString.length) {
padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
}
return String(this) + padString.slice(0,targetLength);
}
};
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 57 | 48 | غير مدعومة | 44 | 10 |
على النقيض من متصفح IE، يدعم Edge هذه الميزة بدءًا من الإصدار 15.
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2017.