【精讲】Es6的数组的扩展方法,对象的扩展方法,字符串扩展方法,?. 对象层级深

32 篇文章 0 订阅
16 篇文章 0 订阅

第一部分:数组的扩展方法

1:includes 判断2是否在arr数组中 在就返回true反之为false

             // let arr = [1,2,3,4]
            // console.log(arr.includes(2));

           //返回的值是true说明存在

 2: ** 幂运算

    // console.log(10**3);

//返回值是1000,该语句的用意是10*10*10等于1000

 3:flat数组降维

   // const arr = [1,2,[3,4],5];
   // console.log(arr.flat(2));

  //这里的flag需要一个参数值,根据已输结果可得,返回的结果值是【1,2,3,4,5】

4:flat和map的一个结合

    // const arr = [1,2,3,[5,[10,11],6,7],8,9];
    // const newarr = arr.flatMap((item)=>{
    //     return item;
    // });
    // console.log(newarr);//若返回的是[item]那么返回的值就是[1, 2, 3, Array(4), 8, 9]
   //若返回的值是item,那么返回的值就是 [1, 2, 3, 5, Array(2), 6, 7, 8, 9] 

 第二部分:对象的扩展方法

对象内套数组

           // const str = {info:"班级信息",data:["张三","李四","王五"],major:"计算机专业"};
            // console.log(Object.keys(str));

           //获取所有的键['info', 'data', 'major']
            // console.log(Object.values(str));

          //获取所有的值['班级信息', Array(3), '计算机专业']
            // const arrMap = Object.entries(str);

          //把对象转成[[key,value],[ ],[ ]]
            // const myMap = new Map(arrMap);
            // console.log(myMap);

           //返回的值是Map(3) {'info' => '班级信息', 'data' => Array(3), 'major' => '计算机专业'}

 得到对象(下面第一块是整体,第二部分下面均为对内容的修改)

           // const Person = {realname:"张三"};

            //得到对象属性的描述
            // console.log(Object.getOwnPropertyDescriptor(Person,"name"));
            //  Person = Object.create(null,{
            //     realname:{
            //         value:"张三",
            //         writable:true,//开关  控制属性内容是否可以更改
            //         configurable:true,//判断属性是否可以配置,删除
            //         enumerable:true,//判断是否可枚举
            //     },
            // })

   对上述内容进行更改操作

           // Person.realname="李四";
            // console.log(Person.realname);

           // delete Person.realname;
            // console.log(Person);

           //即可删除全部内容

 // for(let key in Person){

 //     console.log(key);
     // }

//返回值为变量名称

  fromEntries 把键值对的形式 转为对象,arr,map 

    // let arr = [["realname","张三"],["age",23]];
    // const Person =Object.fromEntries(arr);
    // console.log(Person);

 第三部分:字符串扩展方法

 trim 去除空格

(由下面的几个打印结果可以分辨出trim控制哪个方向的空格,可以让空格取消)

            // const str = "  abc  ";
            // console.log(str);
            // console.log(str.trim());
            // console.log("-----"+str.trim()+"-----");
            // console.log("-----"+str.trimLeft()+"-----");
            // console.log("-----"+str.trimRight()+"-----");

 

 

第四部分:?. 对象层级深

        // const Person = {
            //     realname:"张三",
            //     info:{
            //         sex:"男",
            //         height:180,
            //     }
            // }

注解: 

     //这里是根据路径去判断某个属性是否在该位置内,与三目运算符类似   在框架中大多数使用的是这两种。  
            // const height = Person?.info?.sex;  
            //根据判断,若没有值返回的是undefined,有值,正确的就会返回相应的值  
            //切记(?.)是必须要连用的,否则无法继续向下执行
            // console.log(height);

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

共创splendid--与您携手

鼓励会让我为您创造出更优质作品

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

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

打赏作者

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

抵扣说明:

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

余额充值