前端object的方法

174 阅读1分钟

object.keys({对象object}),返回一个包含对象所有枚举属性的  键名(属性名)组成的数组;

object.values({对象object}),返回一个包含对象所有可枚举  属性值组成的数组;

object.entries({对象object}),返回一个对象所有可枚举属性的  键值对组成的数组;

object.assign(target{目标对象},...source{一个或者多个源对象})将一个或者多个源对象的属性复制到木编队峡谷中,并返回目标对象,目标对象和源对象无重名属性(意思就是说可以把属性名相同的值替换或者说合并以源对象为准);

object.hasOwnProperty(prop(值)),判断对象自身是否具有指定属性,而不是通过原型链继承的属性,
例如:a.hasOwnProperty('b'),如果a对象存在b这个值则为true

object.freeze({对象}),冻结对象,时期属性无法增删改查;

object.is(object1,object2),判断两个值是否为相同的值,类似严格相等"===";

object.keys(obj).length,获取对象的属性数量,即对象中可枚举属性的个数,(就是看看这个对象里面有多少属性,长度)


数组扁平化的一个方法
Array.flat()将多维数组转为单层数组,可以通过deph来控制展开的层级,不提供则之展开一层,此方法也会移除数组中的空项,

 arr1=[1,2,[3,4]]
 arr1.flat()  =  [1,2,3,4]
 
 arr2=[1,2,[3,4,[5,6]]]
 arr2.flat(2)  = [1,2,3,4,5,6]
 
 使用参数Infinty可展开任意深度的数组
 arr3=[1,2,[3,4,[5,6,[7,8,[9,10]]]]]
 arr3.flat(Infinty)  =  [1,2,3,4,5,6,7,8,9,10]