JS中遍历对象属性的四种方法
Object.keys()、Object.values()、Object.entries()、for...in、Map
(1)Object.keys():
let ex1 = {c1: 'white',c2: 'black'}
let ex2 = {c3: 'green',c4: 'yellow'}
Object.setPrototypeOf(ex1 ,ex2 ):Obejct.keys(ex2 ) === ['c3','c4'] ex2['c3'] === 'green'
(2)Object.values():
let ex1 = {c1: 'white',c2: 'black'}
let ex2 = {c3: 'green',c4: 'yellow'}
Obejct.values(ex2 ) === ['green','yellow']
(3)Object.entries():
let ex1 = {c1: 'white',c2: 'black'}
let ex2 = {c3: 'green',c4: 'yellow'}
Obejct.values(ex2 ) === [[c3,'green'],['c4','yellow']]
(4)for...in:
let ex1 = {c1: 'white',c2: 'black'}
let ex2 = {c3: 'green',c4: 'yellow'}
let cArry = [];
for(let key in ex1){cArry.push(key)}
(5)Map实例提取属性之或键值对:Map.prototype.values() === Object.values();Map.prototype.entries() === Object.entries()
let gr = {he: 'hello',bl: 'blog'}
let grMap = new Map(Object.entries(gr))
grMap.get('he') === 'hello';grMap.get('bl') === 'blog'
注意:
(1)属性的顺序排列有两种方法:Object.getOwnProtpertyNames、Reflect.ownKeys
(2)数字:属性类型为数字类型时,按数字从大到小排序
(3)字符串:属性类型为字符串时,按时间的先后顺序排序
(4)Symbol:当属性类型为Symbol时,按时间的先后顺序排序
(5)如果需要有序集合,建议将数据存储到数组或Set中。
(6)Object.values()和Object.entries()返回数据的顺序是不确定。
JS中遍历对象属性的四种方法的更多相关文章
- Java中遍历Map集合的四种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- js中判断对象类型的几种方法
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
- 【转】Java中字符串中子串的查找共有四种方法(indexof())
原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下:1.int ...
- Java中字符串中子串的查找共有四种方法(indexof())
Java中字符串中子串的查找共有四种方法(indexof()) Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字 ...
- js中常用追加元素的几种方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS/jQuery 遍历对象属性
Javascript For/In 循环: 循环遍历对象的属性 var person={fname:"John",lname:"Doe",age:25}; fo ...
- C语言中函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来 ...
- android中实现监听的四种方法
(1)自身类作为事件监听器 package cn.edu.gdmec.s07150745.work5; import android.support.v7.app.AppCompatActivity; ...
- js中遍历对象的属性和值
今天想看一下js的数组遍历的内容,搜索到了一个关于对象遍历写好的函数,保留一下.以后好用. function allPrpos ( obj ) { // 用来保存所有的属性名称和值 var p ...
随机推荐
- 英语口语考试资料Family
I Love my family 12 years ago, I was born in a happy family, there was a gentle father, a beautif ...
- MySQL事务和隔离级别
Mysql事务 避免事务,会占用内存 事务是啥? 简而言之:事务 - 就是保护多条执行的sql语句,要么全部成功,要么全部失败 比如:转账就是一个事务:从一个用户将资金转出,再将资金转入到另一个用户, ...
- Day01-变量/常量/数据类型/流程控制之 if
1.变量 把程序运行的中间结果临时的存在内存里,以便后续的代码调用.代指一些复杂的.过长的数据. 声明变量 name = 'Dylan' # 把数据'Dylan'声明(赋值)给变量 nmae,以便后 ...
- npm切换成淘宝镜像源
0-前言 我们都知道node下载第三方依赖包是从国外服务器下载,不是速度奇慢就是下载异常,切换成国内的淘宝镜像源很有必要: 1-切换方法 $ npm config set registry https ...
- VMware修改默认开机方式
.首先删除已经存在的符号链接 ---------------------------------------------------------------------------------- rm ...
- Android手机打造你的Python&Java开发工具!
开发者桌面 之前写过一篇文章:将Android手机打造成你的python开发者桌面 在安卓手机上通过Termux软件,创建一个模拟Linux系统,它的好处就是无需root,即可在手机中编写Python ...
- Python使用psutil模块,做你的电脑管家
电脑管家 也许大家都有这样的感觉,优化完美的电脑系统,你把电脑借给一个电脑小白使用上几天,等你拿回来的时候会发现,开机各种慢,乱七八糟的软件装了一大堆.那么我们如何使用Python来获取电脑的相关数据 ...
- Python之HTTP静态服务器-面向对象版开发
利用面向对象的思想完成HTTP静态Web服务器的开发. 主要思路如下: 1.抽象出一个服务器类 1.1 编写类的对象属性 1.2 编写类的方法 注意: 在进行请求资源路径判断时,需要确认请求路径中是否 ...
- chrome浏览器通过ajax的POST请求报403解决方法
方法1 把POST改成GET方式 方法2 添加请求格式contentType:“application/json”,
- [译]C#8.0中一个使接口更加灵活的新特性-默认接口实现
9月份的时候,微软宣布正式发布C#8.0,作为.NET Core 3.0发行版的一部分.C#8.0的新特性之一就是默认接口实现.在本文中,我们将一起来聊聊默认接口实现. 众所周知,对现有应用程序的接口 ...