JS遍历对象,获取key、value的几种方法
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的几种方法相关推荐
- js给对象动态添加属性的2种方法
js给对象动态添加属性的2种方法 需求: 要给每个课程添加一个判断鼠标是否hover 分析: 因为数据是动态渲染的,所以需要动态的给他添加一个flag标记,就得在数据渲染之前先拿到,然后再添加一个自己 ...
- js遍历对象的key和value
如果想要得到数组的键值对,可以用以下方法 object = {"name":"kejin","age":"18"}for ...
- js遍历对象的几种方法
js遍历对象的几种方法 第一种: for......in const obj = {id:1,name:'zhangsan',age:18 }for(let key in obj){console.l ...
- js遍历对象(js遍历对象的所有属性)
js 遍历对象的3种方法 第一种: for......in const obj = { id:1, name:'zhangsan', age:18 } for(let key i ...
- 分支结构||分支循环结构||使用原生js遍历对象
分支循环结构 分支结构 v-show的原理:控制元素样式是否显示 display:none <!DOCTYPE html> <html lang="en"> ...
- js 遍历对象的几种方法
第一种: for......in const obj = {id:1,name:'zhangsan',age:18}for(let key in obj){console.log(key + '--- ...
- js 遍历对象方法大全
目录 前言 键值对遍历(推荐) 键遍历 值遍历 尾言 前言 记录一下js遍历对象的方法,做个分类比较好记. 键值对遍历(推荐) 同时得到键(key)和值(value) for (let [key, v ...
- 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 ...
- 遍历对象属性_细说JS遍历对象属性的N种方法
本人详细介绍了JS遍历对象N种方法,欢迎关注收藏. 遍历对象属性有五种方法,下图为一个场景对比图. 可以注意到两点: 只有for ... in 才可以遍历原型链属性,且只能遍历可枚举属性. Objec ...
- js遍历(获取)ul中的li
js遍历(获取)ul中的li <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...
最新文章
- 轻松应对IDC机房带宽突然暴涨问题
- 数据库经典书籍--数据库系统概念
- 【控制】《多无人机协同控制技术》周伟老师-第1章-无人机协同控制技术概述
- Virtual Box6.1安装并创建CentOS-6.5虚拟机以及网络配置(静态IP)、防火墙关闭、yum源配置、安装JDK8、安装perl
- 原生js已载入就执行函数_手写CommonJS 中的 require函数
- HDU - 4135 Co-prime(容斥原理)
- 成员变量的初始化和内存中的运行机制
- JavaUtils - 文件操作
- python创建变量score_使用Python 3.5.1中的变量创建文件时的FileNotFoundError
- MongoDB学习1——Windows 下配置及启动mongodb服务器
- 大数据时代,你的信息安全谁负责?
- a标签不可点击_如何在Notion中做多级标签?-Notion102
- Node.js 线程你理解的可能是错的 1
- java8新特性——Stream流
- VMware Cloud Director Availability 4.0 百度网盘 下载
- itext7中文开发文档(二)
- 一文读懂矩估计、极大似然估计和贝叶斯估计
- 4s团队项目前端layui整合使用步骤
- Control-Freec:检测拷贝数变异的神器
- 哈希表--管理公司员工信息