首页 > 其他分享 >Object方法 — Object.entries()

Object方法 — Object.entries()

时间:2024-02-22 11:12:41浏览次数:29  
标签:Object let 数组 entries 键值 方法 属性

Object方法 — Object.entries()

Object.entries() 方法是 JavaScript 中的一个静态方法,用于返回一个给定对象自身可枚举属性的键值对数组。

该方法接受一个对象作为参数,并将该对象的可枚举属性转换为一个二维数组,其中每个子数组包含两个元素:属性的键和属性的值。返回的数组中的键值对顺序与对象自身属性的遍历顺序一致。

 

 

 1 // (1)当键值为正常字符时,返回的键的值为字符串
 2 let object = {
 3     a : 1,
 4     b : 2,
 5     c : 3,
 6     d : {
 7         e : 1,
 8         f :2,
 9         g :3
10     }
11 }
12 let res = Object.entries(object)
13 console.log(res) //[['a', '1'], ['b', '2'],['c', '3'],['d', {…}]]
14 
15 // (2)当键值为数字时,返回的键的值也是字符串
16 let obj = {
17     1 : 'a',
18     2 : 'b',
19     3 : 'c'
20 }
21 let res1 = Object.entries(obj)
22 console.log(res1) //[['1', 'a'],['2', 'b'],['3', 'c']]
23 
24 // (3)当键值的数字错乱无序时,它会将其排序后返回
25 let obj1 = {
26     20 : 'a',
27     3 :'b',
28     999: 'c'
29 }
30 let res2 = Object.entries(obj1)
31 console.log(res2) //[['3', 'b'],['20', 'a'], ['999', 'c']]
32 
33 // (4)展开对象
34 for (let [key, value] of Object.entries(object)) {
35  console.log(`${key}: ${value}`);
36 }

 

 

Object.entries() 方法的原理如下:

1.首先,创建一个空数组,用于存储键值对。

2.然后,遍历给定对象的所有可枚举属性。

3.对于每个可枚举属性,将其键和相应的值组成一个子数组,并将该子数组添加到步骤1中创建的数组中。

 

需要注意的是,Object.entries() 方法只会遍历对象自身的可枚举属性,不会遍历原型链上的属性。如果需要遍历对象自身和继承的所有可枚举属性,可以使用 for...in 循环。

此外,Object.entries() 方法返回的数组是一个浅拷贝,即数组中的键值对是原始对象属性的副本,但对属性值的修改会反映到原始对象上。

 

 

总的来说,Object.entries() 方法提供了一种方便获取对象键值对的方式,适用于迭代对象属性、进行转换和其他操作。

 

标签:Object,let,数组,entries,键值,方法,属性
From: https://www.cnblogs.com/qinlinkun/p/18026888

相关文章

  • vue3 ts用正则表达式校验两位小数和校验整数的方法
    <el-col:span="12"><el-form-itemlabel="贷款金额"prop="loanAmount"><el-input-numberv-model="props.loanAmount":min="0"@change="checkIntegerNumber('loanAmount')"controls......
  • Vue循环实现累加的七种方法
    <body><divid="app"><h2>总价:{{totalPrice}}</h2></div><script>constvm=newVue({el:"#app",data(){return{......
  • 紧束缚方法中基于原胞坐标和原子坐标两种傅里叶变换法
    见https://www.guanjihuan.com/archives/16199和https://zhuanlan.zhihu.com/p/92538964其中提到在计算陈数时,这两种变换方法会有区别,在上面这个知乎中提到:SSH模型中的这两种变换方法:在严谨的经验紧束缚法中,其实是基于原子坐标的傅里叶变换法:布洛赫和:类似地:哈密顿量和哈......
  • JavaScript 的新数组分组方法
    对数组中的项目进行分组,你可能已经做过很多次了。每次都会手动编写一个分组函数,或者使用lodash的groupBy函数。好消息是,JavaScript现在有了分组方法,所以你再也不必这样做了。Object.groupBy和Map.groupBy这两个新方法将使分组变得更简单,并节省我们的时间或依赖性。以前......
  • 对于计算机硬件控制方法的认识(《程序是怎样跑起来的》第11章)
    在《程序是怎样跑起来的》前几张中提到,用户通过操作系统来控制硬件,也就是通过系统调用也称API来调用硬件的。在第11章中讲到,用户使用Windows系统来控制硬件实质上是使用指令间接控制的,指令是由Windows系统发出的。而发出的指令例如书中所举的是IN/OUT指令,是用来控制输入和输出的。......
  • 《系统科学方法概论》绪论读后感
    我是计应232班的赵精艺。在阅读过系统科学概论的绪论之后,在这个章节中主要讲述了系统科学是什么、怎样产生以及它的方法论功能;绪论以这三个方面来介绍系统科学。其中讲述系统科学是分为三个方面来研究的,分别是:系统论、信息论、控制论。系统科学发展至今,是以系统论为核心,以信息论......
  • 深入剖析 Java 类属性与类方法的应用
    Java类属性Java类属性,也称为字段,是类中的变量。它们用于存储与类相关的数据。创建类属性在类定义中声明属性:publicclassMain{intx;//属性Stringname;//属性}访问类属性使用点语法访问对象的属性:MainmyObj=newMain();myObj.x=5;//设置属性值Sy......
  • 数组常用方法
    foreach和之前for循环作用基本一样,只不过比for更灵活方便一些参数:回调函数,该回调函数有三个参数遍历项索引该数组indexof用于查找在数组中的位置,返回值为索引,如果没有找到返回-1参数:第一个参数为要查找的数据第二个参数为从哪个位置开始constarr=[1,2,3,4,5]......
  • 《系统科学方法概论》第五章
    第五章主要探讨了系统科学在管理和决策领域的应用,涉及的核心理论包括耗散结构理论、协同学、突变论以及自组织系统方法。以下是对这些理论的简要概述:1.耗散结构理论:由比利时物理化学家伊利亚·普利高津提出,该理论描述了一个远离平衡态的开放系统,在外部条件变化达到特定阈值时,通过......
  • 《系统科学方法概论》第四章
    在第四章中,作者深度剖析了信息论这一关键理论在系统科学中的应用及其对各领域产生的深远影响。信息论诞生于20世纪中期,由克劳德·香农开创性地提出,其核心研究内容围绕信息的量化、编码和传输展开,对通信技术的进步起到了决定性作用,尤其体现在数据压缩与加密等关键技术上。随着计算......