一、数值拓展(用来检测数字)
1.Number.isFinite() 检测一个数值是否有限
let a = 1
let r = Number.isFinite(a) //将a添加到Number中 如果a不是数字,直接返回false
console.log(r);
2.Number.isNaN()
let a = 1
let r = Number.isNaN(a)
console.log(r);
3.Number.parseInt()
let a = 1
let r = Number.parseInt(a)
console.log(r);
4.Number.parseFloat()
let a = 1
let r = Number.parseFloat(a)
console.log(r);
5.Number.isInteger() 判断一个数值是否为整数
let a = 1
let r = Number.isInteger(a)
console.log(r);
二、Object静态方法扩展
1.Object.is()
2.Object.assign() 合并对象
// 合并对象
// 第一种方法
let r = Object.assign({gender:'男'},{name:'tom',age:12},{add:function(a,b){}})
console.log(r);
// 第二种方法
let obj1 = {gender:'男'}
let obj3 = {name:'tom',age:12}
let obj3 = {add:function(a,b){}}
let s = Object.assign(obj1,obj2,obj3)
console.log(obj1,'--------'); //有变化
console.log(obj2,'--------'); //没变
console.log(obj3,'----------'); //没变
console.log(s);
3.Object.setPrototypeOf() 获取某个对象的原型
4.Object.getPrototypeOf() 获取某个对象的原型
var obj = {name:'tom'}
var obj1 = {gender:'男'}
Object.getPrototypeOf(obj,obj1) //原型为obj1
// let r = Object.getPrototypeOf(obj) //原型为Object
console.log(r);
5.Object.keys()
var obj = {name:'tom',age:12,gender:'男'}
let r = Object.keys(obj) //返回对象所有属性组成的数组
console.log(r);
6.Object.values()
var obj = {name:'tom',age:12,gender:'男'}
let r = Object.values(obj) //返回对象所有值性组成的数组
console.log(r);
7.Object.entries()
var obj = {name:'tom',age:12,gender:'男'}
let r = Object.entries(obj) //返回该对象组成的键值对
console.log(r);
8.Object.fromEntries()
// 将键值对转化为对应的对象
let r = Object.fromEntries([['name','tom'],['age',12,],['gender','男']])
console.log(r);
三、数组的拓展
1.拓展运算符 ( ...)
let arr = [1,2,3,4]
console.log(...arr);
2.静态方法
(1)Array.from()
let obj = {'0':1,'1':2,'2':3}
// 将类数组对象转化为数组,将可遍历的对象转化为数组
let r =Array.from(obj)
console.log(r);
(2)Array.of()
let r = Array.of(1,2,3,4,'hello')
// 将一组值转化为数组,值可以为任意数据类型
console.log(r);
3.实例方法拓展
(1)find() 找出第一个符合条件的数组成员
let arr = [-10,1,2,5,-1]
let r= arr.find((item)=>{ //参数时一个函数,回调函数,找到符合条件的第一个数组元素
return item <0
})
console.log(r); //返回-10
(2)findIndex() 返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件
let arr = [-10,1,2,5,-1,8,10]
let r = arr.findIndex((item)=>{
return item>5
})
console.log(r);
(3)fill() 使用给定值,填充一个数组
let arr = newArray(5); //长度为5的空数组
// arr.fill(1) //将1填进去 使用某个值填充
arr.fill([1,2,3])
arr.fill(1,2) //第一个参数为填充的数,第二个为从第几个数开始填
console.log(arr);
(4)entries keys values
(5)includes()
(6)flat() 将数组拉平(将多余的数组变成一维数组) 参数为数组维度
var arr = [1,[2,3,4,5],6,7,8,[[11,22,33],[44,55,66]]]
let r = arr.flat(Infinity) //不传参数默认将二维参数拉平
console.log(r);
(7)flatMap
var arr = [1,2,3,4]
let r = arr.flatMap((x)=>{
[x,x*2]
// console.log(x);
})
console.log(r);