Object.keys()返回对象自身可枚举属性组成的数组
// 参数为数组时,返回的是数组的索引
let arr1 = [1, 2, '3']
console.log(Object.keys(arr1)) // (3)["0", "1", "2"] let arr2 = [1, 2, '3', 'p', 're']
console.log(Object.keys(arr2)) // (5)["0", "1", "2", "3", "4"] // 参数为对象,返回的是对象的key属性
let obj1 = {
name: 'jack',
age: 16,
height: 178
}
console.log(Object.keys(obj1)) // (3)["name", "age", "height"] let obj2 = {
name: 'jack',
age: 16,
hello: function () {
console.log('hello')
}
}
console.log(Object.keys(obj2)) // (3)["name", "age", "hello"] // Object.keys()只能返回对象的可枚举属性,不可枚举的不能返回
let obj3 = {
name: 'jack',
age: 16,
hello: function () {
console.log('hello')
}
}
// Object.defineProperty(obj, key, property)给对象设置属性或修改属性,obj设置的对象,key需要新增或修改的属性,propert属性配置值
Object.defineProperty(obj3, 'hobby', {
value: 'printer',
enumerable: false // enumerable设置对象的属性是否可枚举,默认为true,
})
console.log(obj3, Object.keys(obj3))
// {name: "jack", age: 16, hello: ƒ, hobby: "printer"}
// (3)["name", "age", "hello"] // 如果参数不是一个对象,在es2015会强制转换为对象,在之前版本会报错
let string = 'foo'
console.log(Object.keys(string)) // (3)["0", "1", "2"] // 如果需要返回对象的全部属性(包括可枚举和不可枚举)可以使用Object.getOwnPropertyNames()方法
// Object.getOwnPropertyNames()方法根据字面意义就是返回对象自身全部属性名
let obj3 = {
name: 'jack',
age: 16,
hello: function () {
console.log('hello')
}
}
Object.defineProperty(obj3, 'hobby', {
value: 'printer',
enumerable: false
})
console.log(obj3, Object.getOwnPropertyNames(obj3))
// {name: "jack", age: 16, hello: ƒ, hobby: "printer"}
// (4)["name", "age", "hello", "hobby"]
Object.keys()返回对象自身可枚举属性组成的数组的更多相关文章
- 【Javascript-基础-getOwnPropertyNames】Object.getOwnPropertyNames() 获取对象自身可枚举属性
可枚举属性和不可枚举属性 在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for-in查找遍历到. 可枚举属性 e ...
- Object.keys()返回对象的属性
<script> // 传入对象,返回属性名 let obj = { 'a': '123', 'b': '456' } console.log(Object.keys(obj)) //[& ...
- JS对象的可枚举属性和不可枚举属性
昨天在写文章(转载)的时候发现了有些对象的方法是分可枚举性和不可枚举性的.简单的查了一下资料,今天来捋一捋啥是对象的可枚举啥是不可枚举. 可枚举性: 对象的每一个属性都有一个描述对象,用来描述和控制该 ...
- get_class_vars 返回由类的默认属性组成的数组
get_class_vars (PHP 4, PHP 5) get_class_vars - 返回由类的默认属性组成的数组 说明 array get_class_vars ( string $clas ...
- Object.keys 返回由一个给定对象的自身可枚举属性组成的数组
在实际开发中,我们有时需要知道对象的所有属性, 原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组 http://blog.csdn.net/u014035151/ar ...
- Object.keys() 遍历对象
Object.keys()方法的运用与数组遍历 Object.keys()用于获得由对象属性名组成的数组,可与数组遍历相结合使用,用起来效果杠杠滴.数组遍历可以用for()或forEach()来实现, ...
- JavaScript indexOf() 方法,获取元素的位置;Object.keys()获取对象的所有key的数组
定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(searchvalue,fromindex) 参数 描述 sea ...
- JS中的可枚举属性与不可枚举属性以及扩展
在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for…in查找遍历到. 一.怎么判断属性是否可枚举 js中基本包 ...
- for in 与 Object.keys 与 hasOwnProperty区别
1.结论 for in遍历对象所有可枚举属性 包括原型链上的属性 Object.keys遍历对象所有可枚举属性 不包括原型链上的属性 hasOwnProperty 检查对象是否包含属性名,无法检查原型 ...
随机推荐
- OpenStack 的单元测试
目录 文章目录 目录 前言 单元测试能提高生产率 Python 单元测试工具清单 unittest Test Discover Test Fixture Test Suite Assert(断言) m ...
- http常见状态码分析
200:这个是最常见的http状态码,表示服务器已经成功接受请求,并将返回客户端所请求的最终结果 301:客户端请求的网页已经永久移动到新的位置,当链接发生变化时,返回301代码告诉客户端链接的变化, ...
- pyqt5的QListWidget中设置右键菜单
QListWidget 是继承 QWidget 的, 所以 QListWidget 是有右键菜单的, 从文档上可以找到 QWidget 上有以下两个与右键菜单有关的函数: Qt.ContextMenu ...
- 解决 Elasticsearch 超过 10000 条无法查询的问题
解决 Elasticsearch 超过 10000 条无法查询的问题 问题描述 分页查询场景,当查询记录数超过 10000 条时,会报错. 使用 Kibana 的 Dev Tools 工具查询 从第 ...
- 有效使用Django的QuerySets
对象关系映射 (ORM) 使得与SQL数据库交互更为简单,不过也被认为效率不高,比原始的SQL要慢. 要有效的使用ORM,意味着需要多少要明白它是如何查询数据库的.本文我将重点介绍如何有效使用 Dja ...
- java:Linux(简单命令,远程ssh使用hostname访问,.免密钥登录配置)
1.临时关闭防火墙: service iptables stop 临时开启防火墙: service iptables start 查看防火墙状态: service iptables sta ...
- SQL优化手段
一.建立索引 要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引(order by desc会非常影响效率). 二.避免在建立索引的字段进行计算操作. 三.使用预编 ...
- Tableau常用函数、功能
Tableau常用函数 创建计算字段: Tableau常用功能
- java学习-3
输入语句Scanner的使用方法 1.导包 import java.util.Scanner 2.创建 从键盘输入:Scanner sc = new Scanner(System.in); 3.使用 ...
- Array of Doubled Pairs
Given an array of integers A with even length, return true if and only if it is possible to reorder ...