es6 获取对象的所有值_ES6学习--对象属性的遍历
ES6一共有5种方法可以遍历对象的属性。
(1)for...in
for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)。
(2)Object.keys(obj)
Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)。
(3)Object.getOwnPropertyNames(obj)
Object.getOwnPropertyNames返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)。
(4)Object.getOwnPropertySymbols(obj)
Object.getOwnPropertySymbols返回一个数组,包含对象自身的所有Symbol属性。
(5)Reflect.ownKeys(obj)
Reflect.ownKeys返回一个数组,包含对象自身的所有属性,不管是属性名是Symbol或字符串,也不管是否可枚举。
///Object.keys遍历属性/
let obj = {a:1, b:2,c:3};
Object.keys(obj); //["a", "b", "c"]返回对象属性数组
/Object.keys遍历value/
let obj = {a:1,b:2,c:function(){}};
Object.values(obj); //[1, 2, f]返回对象属性value值数组
///Object.entries遍历键值对
let obj = {a:1,b:2,c:function(){}};
Object.entries(obj); [['a',1],['b', 2], ['c',f]返回对象键值对数组
///Object.getOwnPropertyNames遍历属性(枚举+不可枚举)/
let obj = {a:1,b:2,c:function(){}};
Object.getOwnPropertyNames(obj); ["a", "b", "c"]返回对象包括不可枚举的属性数组
以上的5种方法遍历对象的属性,都遵守同样的属性遍历的次序规则。
首先遍历所有属性名为数值的属性,按照数字排序。
其次遍历所有属性名为字符串的属性,按照生成时间排序。
最后遍历所有属性名为Symbol值的属性,按照生成时间排序。
Reflect.ownKeys({ [Symbol()]:0, b:0, 10:0, 2:0, a:0 })
// ['2', '10', 'b', 'a', Symbol()]
上面代码中,Reflect.ownKeys方法返回一个数组,包含了参数对象的所有属性。这个数组的属性次序是这样的,首先是数值属性2和10,其次是字符串属性b和a,最后是Symbol属性。
es6 获取对象的所有值_ES6学习--对象属性的遍历相关推荐
- Java执行JavaScript代码:传参、获取变量、返回值、JSON对象
脚本包 Java 脚本功能是在 javax.script 包中.这是一个比较小的,简单的API.脚本的出发点是 ScriptEngineManager 类,ScriptEngineManager是一个 ...
- 小程序修改数组中对象的某个值或者修改对象值
小程序中获取当前data定义的值,用this.data.xxx setData的时候要修改的值是不需要加this.data.xxx的,直接xxx, 一般直接修改data的值直接修改,修改数组中对象的值 ...
- [复选框] 获取checkbox选中的值
版权声明 本博文首发于: CSDN 瑾兰 (https://blog.csdn.net/qq_28296925) 博客. 请注意: 无需授权即可转载: 甚至无需保留以上版权声明- - 文章目录 一.情 ...
- js删除对象中所有值为null和undefined的属性
和后台对接的时候的需求,他们不希望我传入那些值为null和undefined的属性,那我就先删除了吧. var obj = {aaa: 1,b: null,ccc: 'js删除对象中所有值为null的 ...
- C# CLR 聊聊对象的内存布局 一个空对象占用多少内存
在 C# 中的对象大概可以分为三个不同的类型,包括值类型.引用类型和其他类型.本文主要讨论的是引用类型对内存空间的占用情况.在讨论开始之前我想问问大家,一个空的对象会占用多少内存空间?当然这个问题本身 ...
- java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值
java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...
- ES6学习--对象属性的遍历
ES6一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性). (2)Object.keys(obj) Object. ...
- 使用变量的值作为JS对象的属性名,从而获取其对应的值
使用变量的值作为JS对象的属性名,从而获取其对应的值 <script>var object={"a":1111,"b":2222};var para ...
- 有属性的自定义注解,如何获取到post请求中RequestBody中对象的一个属性值?
1,写两个自定义注解,一个作用于方法的,一个作用于字段的 作用于方法的自定义注解代码: package com.youku.nintendo.annotation;import enums.Permi ...
最新文章
- Windows10远程访问Jupyter notebook
- Theano - 循环
- 【Paper】2013_Autonomous Cooperation Between UAV and UGV to Improve Navigation and Environmental
- java 文件编码 查询系统_javaweb垃圾分类查询系统、ssm+mysql
- 深入理解Async/Await
- pythonturtle画点的指令_简述python的turtle绘画命令及解释
- Sublime Text 3 无法输入中文解决方案
- 万年历c语言编程怎么做,用C语言如何编写“万年历”
- oracle 删除老存档,【转】oracle存档日志删除
- 计算机设备的存放,哪一种设备不能用于长期保存计算机数据
- (转)2020年网络安全产业图谱
- windows/Linux网络工具
- Tomcat9-默认登录名/密码
- CoDeSys开发经验总结
- 5种Alexa世界排名作弊方式
- java汉字转拼音以及五笔码工具
- 2022产业区块链数智经济发展论坛圆满举行
- 支付入门-易宝支付实践
- Ubuntu16.04LTS安装搜狗拼音
- Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课程设计-期末作业-毕设程序代做