js遍历对象key和value实战举例

 更新时间:2023年07月26日 11:29:31   作者:残忆2迷惘  
这篇文章主要给大家介绍了关于js遍历对象key和value的相关资料,随着JavaScript在web应用程序中的广泛使用,遍历对象的key和value成为了编写复杂代码所必需的技能,需要的朋友可以参考下

声明一个对象:

let obj = {
    name: 'Kamen',
    age: '23',
    hobby: 'eat eat eat'
  }

方法一:转化为操作数组forEach遍历

遍历对象属性

//遍历对象属性
Object.keys(obj).forEach(key => {
    console.log(key)
  })

关于Object.keys()方法Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致。

例子

// 简单数组
const arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// 类数组对象
const obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']

// 具有随机键顺序的类数组对象
const anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']

// getFoo 是一个不可枚举的属性
const myObj = Object.create({}, {
  getFoo: {
    value() { return this.foo; }
  }
});
myObj.foo = 1;
console.log(Object.keys(myObj)); // console: ['foo']

遍历对象属性值

//遍历对象属性值
Object.values(obj).forEach(val => {
  console.log(val)
})

关于Object.values()方法object .values()静态方法返回给定对象自己的可枚举字符串键属性值的数组。

例子

const obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]

// Array-like object
const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c']

// Array-like object with random key ordering
// When using numeric keys, the values are returned in the keys' numerical order
const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a']

// getFoo is a non-enumerable property
const myObj = Object.create(
  {},
  {
    getFoo: {
      value() {
        return this.foo;
      },
    },
  },
);
myObj.foo = "bar";
console.log(Object.values(myObj)); // ['bar']

方法二:for/in遍历

for( let key in obj ){
    //遍历对象属性
    console.log(key)
    //遍历对象属性值
    console.log(obj[key])
  }

注意:该方法会继承原型链的所有属性,例如:

Object.prototype.pet = 'open'
for( let key in obj ){
  console.log(key)
  console.log(obj[key])
}
console.log(obj)

上述情况可以使用hasOwnProperty避免:

Object.prototype.pet = 'open'
  for( let key in obj ){
    if (obj.hasOwnProperty(key) === true){
      console.log(key)
      console.log(obj[key])
    }
  }
  console.log(obj)

总结 

到此这篇关于js遍历对象key和value的文章就介绍到这了,更多相关js遍历对象key和value内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解实现一个通用的“划词高亮”在线笔记功能

    详解实现一个通用的“划词高亮”在线笔记功能

    这篇文章主要介绍了实现一个通用的“划词高亮”在线笔记文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • JavaScript实现简单音乐播放器

    JavaScript实现简单音乐播放器

    这篇文章主要为大家详细介绍了JavaScript实现简单音乐播放器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • 基于javascript显示当前时间以及倒计时功能

    基于javascript显示当前时间以及倒计时功能

    这篇文章主要为大家详细介绍了基于javascript显示当前时间以及倒计时功能的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 关于javascript中dataset的问题小结

    关于javascript中dataset的问题小结

    本文给大家介绍javascript中dataset的问题详解,包括dataset的基础用法,使用dataset的作用以及dataset的基础操作等相关问题,对javascript dataset问题感兴趣的朋友一起学习吧
    2015-11-11
  • 拿捏javascript对象增删改查应用及示例

    拿捏javascript对象增删改查应用及示例

    “撩过”c++的对象,“拿捏”了python的对象,那么今天我们看看javascript中的对象到底是什么,看能不能一次性拿下,不行的话就多来几次,想做“海王”就多物色几门语言的对象,多new几个,最终你会发现都差不多
    2022-03-03
  • JS Loading功能的简单实现

    JS Loading功能的简单实现

    这篇文章主要介绍了JS Loading功能的简单实现。这个功能原理是很简单的,就是一个DIV遮盖当前页面,然后Loading就在遮盖DIV层上展示出来
    2013-11-11
  • Js+XML 操作

    Js+XML 操作

    Js+XML 操作...
    2006-09-09
  • 原生JS实现自定义下拉单选选择框功能

    原生JS实现自定义下拉单选选择框功能

    最近,把项目中用到的下拉框组件重新封装了一下,以构造函数的方式进行封装,主要方法和事件定义在原型上,下面是主要的实现代码并添加了比较详细的注释,分享出来供大家参考
    2018-10-10
  • 自定义百度分享的分享按钮

    自定义百度分享的分享按钮

    这篇文章主要介绍了自定义百度分享的分享按钮的相关资料,需要的朋友可以参考下
    2015-03-03
  • JavaScript函数执行、作用域链以及内存管理详解

    JavaScript函数执行、作用域链以及内存管理详解

    这篇文章主要介绍了JavaScript函数执行、作用域链以及内存管理的知识,文章内容非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论