JavaScript字符串、数组操作

ES6语法引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

padStart()

   let str = '123';
   str = str.padStart('5', 'aa');
   console.log(str);//str:aa123

padEnd()

   let str = '123';
   str = str.padEnd('5', 'aa');
   console.log(str);//str:123aa

上面代码中,padStartpadEnd一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

  • 如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
  • 如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。
  • 如果省略第二个参数,默认使用空格补全长度。
  • 另一个用途是提示字符串格式。
        let str = '12';
        str = str. padStart(10, 'YYYY-MM-DD');
        console.log(str);//str:YYYY-MM-12

模板字符串

在之前拼接字符串的时候通常都这样写:

$('#result').append(
 'There are <b>' + basket.count + '</b> ' +
 'items in your basket, ' +
 '<em>' + basket.onSale +
 '</em> are on sale!'
);

有了模板字符串之后使用“(反引号)这个符号可以多行拼接:

$('#result').append(`
  There are <b>${basket.count}</b> items
   in your basket, <em>${basket.onSale}</em>
  are on sale!
`);

数组

数组的遍历:forEach,for of,map,

  • forEach遍历数组:
   const arr = [120,110,28,9,7,5];
     arr.forEach((item,index)=>{
         console.log(`forEach遍历第${index}个数:${item}`);
     });

《JavaScript字符串、数组操作》 image.png

  • map遍历数组
 const arr = [120,110,28,9,7,5];
  arr.map((item,index)=>{
         console.log(`map遍历第${index}个数:${item}`)
        });

《JavaScript字符串、数组操作》 image.png

  • for of遍历数组
 const arr = [120,110,28,9,7,5];
  for (item of arr){
         console.log(item);
  //输出120,110,28,9,7,5
  }
  • for of 遍历字符串
   const str = 'hello';
   for (item of str){
         console.log(item);
     }
//输出h,e,l,l,o
  • filter的使用
//使用filter过滤特定条件的数字组成新的数组
        const arr = [120,110,28,9,7,5];
        let arr1 = arr.filter((item)=>{
            return item>100
        });
        console.log(arr1)
//输出 120,110
  • reduce的使用
//让数组中前项和后项做某种计算,并累计最终值
   const arr = [120,110,28,9,7,5];
     arr.reduce((prev,next)=>{
        console.log(prev+next)
     });
//输出230
  • every的使用
//检测数组中每一项是否满足条件
     const arr = [120,110,28,9,7,5];
     const result = arr.every((item)=>{
         return item>4
     });
     console.log(result);
//返回结果为`true`。只有全部为true才可以
  • some 的使用
//检测数组中是否有些项满足条件
    const arr = [120,110,28,9,7,5];
     const result1 = arr.some((item)=>{
         return item>40
     });
     console.log(result1);
//返回结果为`true`。只要满足一个即为true。

数组去重

  • Set + Array.from() 数组去重
        let arr = [12,13,12,11,0];
        let arr1 = Array.from(new Set(arr));
        console.log(arr1);//输出:12,13,11,0
  • …[拓展运算符] + Set 数组去重
        let arr = [12,13,12,11,0];
        let arr1 = [...new Set(arr)];
        console.log(arr1);

日期格式化:时间戳转化为日期

   // 格式化时间  时间戳=>日期
    const timestamp = '1425553097';//秒数
    const d = new Date(timestamp * 1000);    //根据时间戳生成的时间对象
    const date = `当前时间:${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()} ${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}`;
    console.log(date);
    原文作者:不要和我名字一样
    原文地址: https://www.jianshu.com/p/3cb438b1784c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞