Object.entries

const reduce = Function.bind.call(Function.call, Array.prototype.reduce);
const isEnumerable = Function.bind.call(Function.call, Object.prototype.propertyIsEnumerable);
const concat = Function.bind.call(Function.call, Array.prototype.concat);
const keys = Reflect.ownKeys;

if (!Object.values) {
    Object.values = function values(O) {
        return reduce(keys(O), (v, k) => concat(v, typeof k === ‘string‘ && isEnumerable(O, k) ? [O[k]] : []), []);
    };
}

if (!Object.entries) {
    Object.entries = function entries(O) {
        return reduce(keys(O), (e, k) => concat(e, typeof k === ‘string‘ && isEnumerable(O, k) ? [[k, O[k]]] : []), []);
    };
}

时间: 2024-10-26 23:37:48

Object.entries的相关文章

[ES2017] Iterate over properties of an object with ES2017 Object.entries()

The Object.entries() function is an addition to the ECMAscript scpec in Es2017. This allows us to iterate through the properties of an object and read the entries as keys and objects. const obj = { foo: 'bar', baz: 42 }; console.log(Object.entries(ob

Object.keys(),Object.values(),Object.entries()

1. (1)Object.keys() //返回 键 数组 返回数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名. eg:var obj = {a:1,b:'gy'} Object.keys(obj) // ['a','b'] (2)Object.values() //返回 值 数组 返回数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值 eg1:var obj = {a:1,b:'gy'} Object.values(obj

Object.keys(),Object.values(),Object.entries()

Object.keys(),Object.values(),Object.entries() Object.keys() ES5 引入了Object.keys方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名. var obj = { foo: 'bar', baz: 42 }; Object.keys(obj) // ["foo", "baz"] ES2017 引入了跟Object.keys配套的Object.val

关于android h5内嵌网页报TypeError: Object.entries is not a function

android内嵌网页有个tab点击居然没反应,晕了.不过还好只是手里的魅族手机有问题,华为的可以,基本可以确定是兼容性问题 用devtools查看webview网页看到报错信息如下图 很明显了es6的generators的entries函数不支持,然后查看手机的chrome内核版本是51,查了下android chrome内核兼容性如下图,android chrome的兼容性更新如此之慢. 解决吧,本来以为是babel编译转es5的问题,搞了半天不行..最后查看大神的回答才发现:babel只能

[JS]Object.keys, values, entries

Object.keys, values, entries 对于普通对象,下列这些方法是可用的: Object.keys(obj) —— 返回一个包含该对象所有的键的数组. Object.values(obj) —— 返回一个包含该对象所有的值的数组. Object.entries(obj) —— 返回一个包含该对象所有 [key, value] 键值对的数组. 1 let obj = { 2 name: "jack", 3 age: 20, 4 sex: "man"

js 中object对象的操作

n = object对象 for(var p in n){ console.log(p);// 取得是key值 console.log(n[p]);//取得是value值 } 继之前js中数组的常用方法之后,Object的常用方法和属性也是很常用的.故,总结之. 一.属性 Object自带一个prototype的属性,即Object.prototype,Object.prototype本身也是一个对象,也会有一些属性和方法.如下: 1.属性 Object.prototype.writable:默

对象Object

功能分类                       1. 创建对象 把各对数自身拥有的可枚举属性复制到第一个对象并返回:obj = Object.assign(o1, o2, o3),o1=obj assign会自动把非对象参数转换为对象,如数组会转换成序号为key,相应值为value的对象 继承并扩展一个原型对象:obj = Object.create(protoObj, {属性对象}), obj.__proto = protoObj 2. 属性相关 添加/修改一个(多个):Object.d

Object 构造函数的方法

Object.assign() (es6) 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. Object.assign(target, ...sources) // target 目标对象. sources 源对象. 'use strict'; let obj1 = { a: 0 , b: { c: 0}}; let obj2 = Object.assign({}, obj1); console.log(JSON.stringify(obj2)); // { a:

for in 与 Object.keys 与 hasOwnProperty区别

1.结论 for in遍历对象所有可枚举属性 包括原型链上的属性 Object.keys遍历对象所有可枚举属性 不包括原型链上的属性 hasOwnProperty 检查对象是否包含属性名,无法检查原型链上是否具有此属性名 2.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport