第一部分:数组的扩展方法
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);