首页 > 其他 > 详细

对象遍历及其他方法

时间:2021-06-24 00:31:09      阅读:16      评论:0      收藏:0      [点我收藏+]

遍历 for in 会遍历出对象以及该对象原型链上的属性名,for in 可以遍历到myObject的原型方法method,如果不想遍历原型方法和属性的话,可以在循环内部判断一下,hasOwnPropery方法可以判断某属性是否是该对象的实例属性, for(key in obj),key是obj里的属性名,如果是数组得到数组的索引值

for  of 获取属性值,

Object.keys() 是 ES5 新增的一个对象方法,该方法返回对象自身属性名组成的数组,它会自动过滤掉原型链上的属性,

object.values获取对象自身属性值的一个数组,object.entries获取一个数组,数组里面小数组,小数组第一个值是属性名,第二个值是属性值,

for in 循环和 Object.keys() 方法都不会返回对象的不可枚举属性,(对象里面装对象,这个对象的属性名就是不可枚举的属性)

// 创建一个对象并指定其原型,bar 为原型上的属性
// baz 为对象自身的属性并且不可枚举
const obj = Object.create({
 bar: ‘bar‘
}, {
 baz: {
  value: ‘baz‘,
  enumerable: false
 }
})

obj.foo = ‘foo‘

// 不包括不可枚举的 baz 属性
Object.keys(obj).forEach((key) => {
 console.log(obj[key]) // foo
})

// 包括不可枚举的 baz 属性
Object.getOwnPropertyNames(obj).forEach((key) => {
 console.log(obj[key]) // baz, foo
})

Object.getOwnPropertyNames()也是 ES5 新增的一个对象方法,该方法返回对象自身属性名组成的数组,包括不可枚举的属性

Reflect.ownKeys() 方法是 ES2015 新增的静态方法,该方法返回对象自身所有属性名组成的数组,包括不可枚举的属性和 Symbol 属性

 

对象遍历及其他方法

原文:https://www.cnblogs.com/hmfzy-blogs/p/14924978.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!