1. 使用for…in

let person = { name: '张三',age: '21',
}for(let key in person){if(Object.prototype.hasOwnProperty.call(person, key)){console.log('key-value',key,person[key])}
}
//key-value name 张三
//key-value age 21

为什么使用Object.prototype.hasOwnproperty.call(person, key)而不是person.prototype.hasOwnproperty(key)
因为hasOwnproperty在js里并不是敏感词,因此可能当前对象有一个属性名叫hasOwnproperty,所以这里直接调原型链上的hasOwnproperty方法
call(person, key)的两个参数,第一个参数是this的指向对象,第二个参数是入参

2. 使用Object.keys()

let person = { name: '张三',age: '21',
}Object.keys(person).map(key => {console.log(key)
})
//name
//age
//Object.keys()返回自身的所有可枚举属性的数组:[name,age]
//Object.values()返回一个自身的所有可枚举属性值的数组:[张三,21]

3. 使用lodash库的map

平时使用lodash库比较多,最近发现lodash里map的迭代函数第二个参数是可以直接取到key的,原生js的map函数是不支持的。

import _ from 'lodash'let person = { name: '张三',age: '21',
}
_.map(person, (item, key) => {console.log('key-value',key,item)
})
//key-value name 张三
//key-value age 21

4. 使用Object.entries()

const object1 = {a: 'somestring',b: 42
};for (const [key, value] of Object.entries(object1)) {console.log(`${key}: ${value}`);
}// expected output:
// "a: somestring"
// "b: 42"
// order is not guaranteed

JS遍历对象,获取key、value的几种方法相关推荐

  1. js给对象动态添加属性的2种方法

    js给对象动态添加属性的2种方法 需求: 要给每个课程添加一个判断鼠标是否hover 分析: 因为数据是动态渲染的,所以需要动态的给他添加一个flag标记,就得在数据渲染之前先拿到,然后再添加一个自己 ...

  2. js遍历对象的key和value

    如果想要得到数组的键值对,可以用以下方法 object = {"name":"kejin","age":"18"}for ...

  3. js遍历对象的几种方法

    js遍历对象的几种方法 第一种: for......in const obj = {id:1,name:'zhangsan',age:18 }for(let key in obj){console.l ...

  4. js遍历对象(js遍历对象的所有属性)

    ​​js 遍历对象的3种方法​​ 第一种: for......in ​​ ​ ​ const obj = { id:1, name:'zhangsan', age:18 } for(let key i ...

  5. 分支结构||分支循环结构||使用原生js遍历对象

    分支循环结构 分支结构 v-show的原理:控制元素样式是否显示 display:none <!DOCTYPE html> <html lang="en"> ...

  6. js 遍历对象的几种方法

    第一种: for......in const obj = {id:1,name:'zhangsan',age:18}for(let key in obj){console.log(key + '--- ...

  7. js 遍历对象方法大全

    目录 前言 键值对遍历(推荐) 键遍历 值遍历 尾言 前言 记录一下js遍历对象的方法,做个分类比较好记. 键值对遍历(推荐) 同时得到键(key)和值(value) for (let [key, v ...

  8. android json 遍历keys,js遍历json的key和value的实例

    原生js遍历json对象 遍历json对象: 无规律: var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}]; for(var i=0 ...

  9. 遍历对象属性_细说JS遍历对象属性的N种方法

    本人详细介绍了JS遍历对象N种方法,欢迎关注收藏. 遍历对象属性有五种方法,下图为一个场景对比图. 可以注意到两点: 只有for ... in 才可以遍历原型链属性,且只能遍历可枚举属性. Objec ...

  10. js遍历(获取)ul中的li

    js遍历(获取)ul中的li <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

最新文章

  1. 轻松应对IDC机房带宽突然暴涨问题
  2. 数据库经典书籍--数据库系统概念
  3. 【控制】《多无人机协同控制技术》周伟老师-第1章-无人机协同控制技术概述
  4. Virtual Box6.1安装并创建CentOS-6.5虚拟机以及网络配置(静态IP)、防火墙关闭、yum源配置、安装JDK8、安装perl
  5. 原生js已载入就执行函数_手写CommonJS 中的 require函数
  6. HDU - 4135 Co-prime(容斥原理)
  7. 成员变量的初始化和内存中的运行机制
  8. JavaUtils - 文件操作
  9. python创建变量score_使用Python 3.5.1中的变量创建文件时的FileNotFoundError
  10. MongoDB学习1——Windows 下配置及启动mongodb服务器
  11. 大数据时代,你的信息安全谁负责?
  12. a标签不可点击_如何在Notion中做多级标签?-Notion102
  13. Node.js 线程你理解的可能是错的 1
  14. java8新特性——Stream流
  15. VMware Cloud Director Availability 4.0 百度网盘 下载
  16. itext7中文开发文档(二)
  17. 一文读懂矩估计、极大似然估计和贝叶斯估计
  18. 4s团队项目前端layui整合使用步骤
  19. Control-Freec:检测拷贝数变异的神器
  20. 哈希表--管理公司员工信息

热门文章

  1. 用迭代法求a的平方根
  2. 网络营销招生方案及河南大学生高校名单
  3. 上海人设提示访问接口出错
  4. 罗塞塔石碑(Rosetta Stone)安装指南
  5. Win10桌面图标无法拖动
  6. 数据窗口Pageup与Pagedown翻页
  7. linux下,fping命令与ping命令解析
  8. js常用效果代码封装
  9. 虚拟化技术发展与虚拟化体系结构
  10. Kafka3.0.0单机安装及简单使用