Object.keys() 方法会返回一个由给定对象的所有可枚举自身属性的属性名组成的数组。
* 数组中属性名的排列顺序和使用for-in循环遍历该对象时返回的顺序一致。
**主要区别是 for-in 还会遍历出一个对象从其原型链上继承到的可枚举属性。
语法:Object.keys(obj)
var arr = ["a", "b", "c"];
alert(Object.keys(arr)); // 弹出"0,1,2"
var obj = { "name" :"wjy","age": 26, "sex":"female"};
alert(Object.keys(obj)); // 弹出"name,age,sex"
兼容那些没有原生支持Object.key方法的JavaScript环境:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
浏览器兼容性:
Firefox Chrome IE Opera Safari
4 (2.0) 5 9 12 5
分享到:
相关推荐
获取对象的所有属性键,包括不可枚举和继承的 像一样,但是遍历原型链。 安装 $ npm install all-keys 用法 import allKeys from 'all-keys' ; Object . getOwnPropertyNames ( Symbol . prototype ) ; /* [ '...
那和 Object.keys() 方法不就一样了吗 感觉事情并不这么简单,于是我仔细看了一下这几种遍历对象的方法的区别 for in for in 循环是最基础的遍历对象的方式,它还会得到对象原型链上的属性 // 创建一个对象并指定其...
Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。 这是...
会返回一个对象中所有可枚举的key,如果是数组,将会返回下标。 例如: 1.const configs = { umdDev: { format: 'umd', env: 'development' }, umdProd: { format: 'umd', env: 'production' } } console....
创建一个不可变的可枚举对象。 使用 ES6 符号、getter/setter 和Object.seal 。 安装 $ npm install private-object 用法 const priv = require ( 'private-object' ) var boop = priv ( { foo : 'bar' } ) ...
从普通错误对象的可枚举和不可枚举属性创建可枚举错误对象。 例子 var objerr = require('objectify-error'); var e = new Error('error message'); Object.keys(e); // returns [] Object.keys(objerr(e)); // ...
ECMA 2009年12月推出了 JavaScript 5,除了增强基础函数库之外,还引入了严格运行时模式...Object.getOwnPropertyNames() 会列出对象中所有可枚举以及不可枚举的属性 Object.getPrototypeof() 返回给定对象的原型
(2)Object.keys():返回数组(可枚举的自有属性) (3)Object.getOwnPropertyNames():所有的自有属性 3、属性的特性:数据属性和存取器属性 (1)数据属性:可写(writable) 可枚举(enumerable) 可配置...
该方法会返回一个由给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in… 循环遍历该对象时返回的顺序一致 。即可以通过返回数组的长度来判断是否为空对象,若为空对象,该数组长度为0。例...
这个方法精确添加或修改对象的属性,我们添加的属性是可以枚举的属性(Object.keys()/ for…in) 对象里面存在是属性描述存在的形式是: 数据描述符:拥有可写入或不可以写入的属性(相当于口令密码) 存
keys())value: 指定初始值writable: true/false value是否可以修改存取(访问)描述符get: 函数, 用来得到当前属性值set: 函数, 用来监视当前属性值的变化4.Object.keys(obj): 得到对象自身可枚举的属性名的数组5....
keys())value: 指定初始值writable: true/false value是否可以修改存取(访问)描述符get: 函数, 用来得到当前属性值set: 函数, 用来监视当前属性值的变化4.Object.keys(obj): 得到对象自身可枚举的属性名的数组5....
keys())value: 指定初始值writable: true/false value是否可以修改存取(访问)描述符get: 函数, 用来得到当前属性值set: 函数, 用来监视当前属性值的变化4.Object.keys(obj): 得到对象自身可枚举的属性名的数组5....
1.准备 1.[].slice.call(lis): 将伪数组转换为真数组 2.node.nodeType: 得到节点类型 ...4.Object.keys(obj): 得到对象自身可枚举的属性名的数组 5.DocumentFragment: 文档碎片(高效批量更新多个节点) 6.obj.has
1.准备 1.[].slice.call(lis): 将伪数组转换为真数组 2.node.nodeType: 得到节点类型 ...4.Object.keys(obj): 得到对象自身可枚举的属性名的数组 5.DocumentFragment: 文档碎片(高效批量更新多个节点) 6.obj.has
MVVM位数 1.准备 1.[].slice.call(lis): 将伪数组转换为真数组 2.node.nodeType: 得到节点类型 ...4.Object.keys(obj): 得到对象自身可枚举的属性名的数组 5.DocumentFragment: 文档碎片(高效批量更新多个节点) 6.
Object.defineProperty(obj,propertyName,{}):给对象添加/修改属性(指定引用)数据可配置:true / false是否可以重新定义deumenable:true / false是否可以枚举(for..in / keys())值:指定的初始值可写:...
1.分析vue作为一个MVVM框架的基本实现原理 数据代理 模板解析 数据绑定 2.准备 1.[].slice.call(lis): 将伪数组转换为真数组 2.node.nodeType: 得到...4.Object.keys(obj): 得到对象自身可枚举的属性名的数组 5.Docu
也就是说,如果val ,则返回true: 是一个对象(请注意,数组算作一个对象) 根据Object.keys()恰好包含一个可枚举的属性名称(注意:即使符号是可枚举的,符号也不算作名称) 否则,返回false。 let obj = { foo :...
过滤键 使用全局模式过滤对象的键。 用安装$ npm i filter-... 只是…|:修改对象自己的可枚举属性(键)的名称。 |sort-object :对对象中的键进行排序。 | 主页 运行测试安装开发人员依赖项: $ npm i -d && npm t