String.prototype.padEnd()‎

من موسوعة حسوب
مراجعة 09:57، 21 ديسمبر 2017 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الدالة 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.

مصادر ومواصفات