ES6字符串 数组 对象新方法

字符串

ES6之前判断字符串是否包含子串,用indexOf方法, ES6新增了子串的识别方法

 includes():返回布尔值,判断是否找到参数字符串。 

    var str = "131315548";

      console.log(str.includes(131)); //true

  startsWith() :返回布尔值,判断参数字符串是否在原字符串的头部。

      console.log(str.startsWith(131)); //true

      console.log(str.startsWith(12, 2)); //false 从第二个参数的下标处开始判断

  endsWith() :返回布尔值, 判断参数字符串是否在原字符串的尾部。 

    console.log(str.endsWith(8)); //true

      console.log(str.endsWith(5, 7)); //true 将字符串从0截取到第二个参数处 在进行判断 截取前7个字符串 判断是否以5结尾

    repeat()返回新字符串 将新字符串重复指定次数返回

      console.log(str.repeat(2)); //131315548131315548

   padStart() padEnd()返回新字符串 表示用参数字符串从头到尾{或从尾到头}补全原字符串

      console.log(str.padEnd(15, "abc")); //131315548abcabc

      console.log(str.padStart(15, "abc")); //abcabc131315548

   模板字符串`` 可以插入标签 可以进行换行

对象

      //   var obj = {
      //     count: count,
      //     say: function () {},
      //   };
      //es6新简写方法 变量名和属性名一样时可以这样写 方法的简写将function去掉
      //   var obj = { count, say() {} };
      //es6 属性名可以是一个表达式 用[]括起来 会隐形将[]中的表达式进行一次tostring转换
      var obj = { [100 + "张三"]: 90, [{}]: 100 };
      console.log(obj); //{100张三: 90, [object Object]: 100}  对象tostring转换后就是[object Object]
      //注意:属性的简洁表示和属性名表达式不能同时使用 不然会报错
      // var obj={[hello]}//报错

      //对象用扩展运算符取值
      var obj = {
        name: "张三",
        age: 18,
      };
      var obj2 = { ...obj };
      console.log(obj, obj2, obj == obj2); //长得一样的 但是注意 他们都隐形创建了一个新对象 所以是不相等的

      //对象的新静态方法
      //is 判断两个数是否相同 可以等同于=== 以下两种特殊情况和===不同
      console.log(Object.is(0, -0)); //false
      console.log(Object.is(NaN, NaN)); //true
      console.log(0 === -0); //true
      console.log(NaN === NaN); //false

数组

//数组的新静态方法
      //Array.of() 将参数中的所有值作为元素形成数组
      var arr = Array.of(10); //一个值也会看做数组中新添加元素
      var arr1 = new Array(10); //一个值会被看成数组的长度
      console.log(arr, arr1); //[10]  [空属性X10]
      //Array.from() 将类数组对象或可迭代(可遍历)的对象转换为数组

      //find 传入一个函数 查找符合条件的元素并返回 找到后立刻结束 找不到返回undefined
      var arr = [1, 2, 3, 4, 5];
      console.log(
        arr.find(function (el) {
          return (el = 1);
        })
      ); //1 这里的返回值是find的返回值 不是函数的返回值
      //findIndex 返回符合条件元素的下标 其他和find一样

      //inludes 判断数组是否包含元素 要注意元素为引用数据时 是否新创建了地址空间 如果是的话判断为false
      console.log(arr.includes(1)); //true

      //fill 填充
      console.log(arr.fill(9)); // [9, 9, 9, 9, 9] 改变原数组
      console.log(arr.fill(8, 0, 3)); // [8, 8, 8, 9, 9] 后两个参数决定填充范围

      //flat 对数组进行降维 默认降1层 参数决定降几层
      var arr1 = [1, 2, 3, [5, 6, [7]]];
      console.log(arr1.flat(2)); //[1, 2, 3, 5, 6, 7]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思考猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值