javascript基础学习系列五十九:repeat()方法

本文介绍了ECMAScript中的四个字符串处理方法:trim()去除前后空格,repeat()复制字符串,padStart()和padEnd()填充字符串长度。同时详细讲解了字符串的迭代和解构功能,包括使用迭代器和for-of循环遍历以及通过解构操作符分割字符数组。
摘要由CSDN通过智能技术生成

ECMAScript 在所有字符串上都提供了 trim()方法。这个方法会创建字符串的一个副本,删除前、 后所有空格符,再返回结果。比如:

let stringValue = " hello world ";
let trimmedStringValue = stringValue.trim(); 11 console.log(stringValue); // " hello world "
console.log(trimmedStringValue); // "hello world"

由于 trim()返回的是字符串的副本,因此原始字符串不受影响,即原本的前、后空格符都会保留。 12 另外,trimLeft()和 trimRight()方法分别用于从字符串开始和末尾清理空格符。

1. repeat()方法:

ECMAScript 在所有字符串上都提供了 repeat()方法。这个方法接收一个整数参数,表示要将字 13 符串复制多少次,然后返回拼接所有副本后的结果。

    let stringValue = "na "; console.log(stringValue.repeat(16) + "batman");
// na na na na na na na na na na na na na na na na batman

2. padStart()和 padEnd()方法:

padStart()和 padEnd()方法会复制字符串,如果小于指定长度,则在相应一边填充字符,直至
满足长度条件。这两个方法的第一个参数是长度,第二个参数是可选的填充字符串,默认为空格 (U+0020)。

    let stringValue = "foo";
     console.log(stringValue.padStart(6));       // "   foo"
     console.log(stringValue.padStart(9, "."));  // "......foo"
     console.log(stringValue.padEnd(6));         // "foo   "
     console.log(stringValue.padEnd(9, "."));    // "foo......"

可选的第二个参数并不限于一个字符。如果提供了多个字符的字符串,则会将其拼接并截断以匹配 指定长度。此外,如果长度小于或等于字符串长度,则会返回原始字符串。

let stringValue = "foo"; console.log(stringValue.padStart(8, "bar")); // "barbafoo"
console.log(stringValue.padStart(2));
console.log(stringValue.padEnd(8, "bar"));
console.log(stringValue.padEnd(2));

3. 字符串迭代与解构:

字符串的原型上暴露了一个@@iterator 方法,表示可以迭代字符串的每个字符。可以像下面这样 手动使用迭代器:

   let message = "abc";
    let stringIterator = message[Symbol.iterator]();
console.log(stringIterator.next()); // {value: "a", done: false} console.log(stringIterator.next()); // {value: "b", done: false} console.log(stringIterator.next()); // {value: "c", done: false} console.log(stringIterator.next()); // {value: undefined, done: true}

在 for-of 循环中可以通过这个迭代器按序访问每个字符:

for (const c of "abcde") {
      console.log(c);
}
    // a
    // b
    // c
    // d
    // e

有了这个迭代器之后,字符串就可以通过解构操作符来解构了。比如,可以更方便地把字符串分割 为字符数组:

   let message = "abcde";
    console.log([...message]); // ["a", "b", "c", "d", "e"]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值