entries()

Object.entries()

作用:返回的是一个数组,返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。Object.entries()返回一个数组,其元素是与直接在object上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同。

语法:

Object.entries(obj)
  • 参数:obj可以返回其可枚举属性的键值对的对象。
  • 返回值:给定对象自身可枚举属性的键值对数组。
实例:
let person={name:'lisa',age:12,adress:'北京',show:function(){}};
console.log(Object.entries(person));

在这里插入图片描述
上述例子返回的是一个二维数组。

因为返回的格式很像Map,所以我们可以把它改成Map格式,如下:
var obj={name:"lisa",age:12};
var m=new Map(Object.entries(obj));
console.log(m);

在这里插入图片描述

Object.fromEntries()

作用:该方法把键值对列表转换为一个对象。
Object.fromEntries() 是 Object.entries 的反转。

语法
Object.fromEntries(iterable);
  • 参数 iterable:可迭代对象,类似 Array 、 Map 或者其它实现了可迭代协议的对象。
  • 返回值:一个由该迭代对象条目提供对应属性的新对象。
实例
let a=new Map([['name','张三'],['age','12'],['address','北京']]);//定义一个Map键值对
let b=Object.fromEntries(a);//把Map转化成一个对象
console.log(b);//{name: "张三", age: "12", address: "北京"}

数组entries()

作用:
返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。

语法
arr.entries()

返回值:
一个新的 Array 迭代器对象。Array Iterator是对象,它的原型(__proto__:Array Iterator)上有一个next方法,可用用于遍历迭代器取得原数组的[key,value]。

实例
let arr=["red","yellow","orange","pink"];
let i=arr.entries();
console.log(i.next().value);//[0, "red"]
console.log(i.next().value);//[1, "yellow"]
//上述例子,通过arr.entries()返回一个可迭代的对象。
//i.next()返回结果如下
//value: Array(2), done: false
//i.next()返回一个对象,对于有元素的数组
//是next{value:Array(2),done:false}
//next.done 用于指示迭代器是否完成:在每次迭代时进行更新而且都是false,直到迭代器结束done才是true。
//next.value是一个["key","value"]的数组,是返回的迭代器中的元素值。

可以使用for…of循环entries()

let arr=["red","yellow","orange","pink"];
let i=arr.entries();
for(let e of i)
{
console.log(e);
}
//[0, "red"]
//[1, "yellow"]
//[2, "orange"]
//[3, "pink"]
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值