🧨一,数组的其他拓展方法
💌💌1,includes,判断某个项是否存在在某个数组中,存在返回true,反之返回false。
举例:
let arr=[1,2,3,4,5]
const newarr=arr.includes(2);
console.log(newarr);//true
console.log(arr.includes(6));//false
💌💌 2,幂运算**
console.log(10**3);//100 10*10*10
💌💌3,flat()数组降维 ,里面不写参数,默认降为一维数组,写参数,是多少降维多少。
举例:
let arr=[1,[2],[3],4,5]
console.log(arr);//(5) [1, Array(1), Array(1), 4, 5]
console.log(arr.flat(1));//(5) [1, 2, 3, 4, 5]
💌💌4,flat与map的结合
举例:
let arr=[1,2,3,4]
let newarr=arr.flatMap((item)=>{
return [item];
})
console.log(newarr);//[1,2,3,4]
//注意:flat与map结合,Map首字母大写,规范驼峰命名,不然报错
🎈二,对象的拓展方法
💌💌1,Object.keys()获得所有键 Object.values()获得所有键值。
注意:一定不要忘了加上s,小编就是少写s,结果报错
🚩🚩举例:
const Stu={
info:'人的信息',
data:['王二','张三','李四'],
major:'计算机专业'
}
console.log(Object.keys(Stu));//(3) ['info', 'data', 'major']
console.log(Objiect.values(Stu));//['人的信息', Array(3), '计算机专业']
💌💌 2,Object.entries()把对象转为键值对多维数组形式
举例:
const Stu={
info:'人的信息',
data:['王二','张三','李四'],
major:'计算机专业'
}
console.log(Object.keys(Stu));//(3) ['info', 'data', 'major']
console.log(Object.values(Stu));
console.log(Object.entries(Stu));
💌💌 3,new Map()将数组转为map结构
const Stu={
info:'人的信息',
data:['王二','张三','李四'],
major:'计算机专业'
}
const arrMap=Object.entries(Stu)
const myMap=new Map(arrMap)
console.log(myMap);
💌💌 4,Object.getOwnPropertyDescriptors()得到对象属性的描述
const Person = {realname:"张三"};
//得到对象属性的描述
console.log(Object.getOwnPropertyDescriptors(Person,"name"));
💌💌 5,底层创建对象属性Object.create(){}
const Person=Object.create(null,{
realname:{
value:'张三',
writable:true,///属性是否可写,可不可更改
configurable:true,//属性不可配置 删除
enumerable:true,//是否可枚举
}//默认都为true,修改为false后,有些操作无法进行
})
console.log(Person);
💌💌6,fromEntries 把键值对的形式 转为对象,
let arr=[['rename','张三'],['age',19]]
const Person=Object.fromEntries(arr)
console.log(Person);
🌤🌤 三·,字符串的拓展方法
💌💌1,trim 去除空格
let str = " abc ";
console.log(str);
console.log(str.trimStart() + "---");
console.log("---" + str.trimEnd()+"---")
console.log("---"+str.trim() + "---");