首页 > 其他分享 >js遍历对象属性方法记录

js遍历对象属性方法记录

时间:2022-10-04 15:35:54浏览次数:43  
标签:function 遍历 obj res Object js return console 属性

// 获取可枚举的自身属性
function fn1(obj){
  return Object.keys(obj)
}

// 获取自身属性
function fn2(obj){
  return Object.getOwnPropertyNames(obj)
}

// 获取可枚举的自身和继承属性
function fn3(obj){
  const res=[]
  for(const k in obj){
    res.push(k)
  }
  return res
}

// 获取所有属性
function fn4(obj){
  let res=[]
  do{
    res=res.concat(Object.getOwnPropertyNames(obj))
  }while(obj=Object.getPrototypeOf(obj))
  return res
}

Object.prototype.a=1
const obj=Object.create({b:2})
obj.c=3
obj.d=4
Object.defineProperty(obj,'d',{
  enumerable:false
})
console.log(fn1(obj)); // [ 'c' ]
console.log(fn2(obj)); // [ 'c', 'd' ]
console.log(fn3(obj)); // [ 'c', 'b', 'a' ]
console.log(fn4(obj)); // [ 'c', 'd', 'b', 'a', 'constructor', '__defineGetter__', ... ]

标签:function,遍历,obj,res,Object,js,return,console,属性
From: https://www.cnblogs.com/ruchoc/p/16753803.html

相关文章

  • vscode vim keybinds.json vscode的按键配置
    vscode的keybindings.json//Placeyourkeybindingsinthisfiletooverridethedefaultsauto[][//以前配置的上下左右移动按键{"key":"alt+j","......
  • React中使用react-redux、@reduxjs/toolkit状态管理工具
    react-redux,@reduxjs/toolkitreact-redux是的官方ReactUI绑定层,它允许您的React组件从Redux存储中读取数据,并将操作分派到存储以更新状态。ReactRedux8.x......
  • Java 属性文件乱码问题
    属性文件乱码通常是中文乱码,在英文下通常没有这个问题。 ​​​​ 如上图显示的,中文字符在属性文件中读取后会显示为乱码.问题和解决导致这个问题的主要原因是属性文件如......
  • Java 属性文件乱码问题
    属性文件乱码通常是中文乱码,在英文下通常没有这个问题。  如上图显示的,中文字符在属性文件中读取后会显示为乱码.问题和解决导致这个问题的主要原因是属性文件如果......
  • js 函数
    延迟执行functiondebounce(wait){vartimer=null;returnfunction(fn){if(timer!==null){clearTimeout(timer);}timer=setTimeo......
  • js屏蔽右键+Ctrl+Shift
    js屏蔽右键点击查看代码//鬼鬼提醒你屏蔽右键js,添加在js里面if(window.Event){document.captureEvents(Event.MOUSEUP);}functionnocontextmenu(){event.cancelB......
  • 图的遍历
    DFS代码框架:1inta[105][105],v[105],n;2voidDFS(intx)//从x进行深搜3{4v[x]=1;//将顶......
  • 【Vue.js入门到实战教程】15-ES 2015 新特性一览
    ​技术栈选择前面我们介绍了从Laravel8开始,自带的前端UI脚手架扩展包Jetstream不再基于Vue作为默认的组件开发技术栈,以便降低后端新手入门前端组件开发的学习成本......
  • js禁止右键
    JS实现禁止鼠标右键的功能遇到网页上有精美图片或者精彩文字想保存时,通常大家都是选中目标后按鼠标右键,在弹出菜单中选择“图片另存为”或“复制”来达到我们的目的。但是......
  • go for range 遍历
    forrange中会为i,v申请各申请一块内存地址存储临时变量,遍历的时候后面的值会覆盖前面的例子:packagemainimport("fmt")funcmain(){m:=make(ma......