4种JavaScript中不同迭代对象的方法

WEB前端开发社区 2021-11-02

在今天这篇文章里,我将介绍了一些迭代对象并获取键值对的方法。这些技巧可以被视为小石头,最终将帮助您渡过 JavaScript 面试的一些小河流。
我知道每个独立的小石头可能没有多大用处,但如果我们得到一千颗或者一万颗这样的小石头,他们就会有用,甚至非常有用。
现在,我们就一起开始今天的内容吧。
我们如何在 JavaScript 中迭代对象并获得键值对?
在今天的内容,我将介绍4种不同的方法,可用于在 JavaScript 中迭代任何对象。
01、Object.values()
此方法从对象的值返回一个数组。它的工作顺序与对象的值相同。
const obj1 = {    test1: 'atit',    test2: 53,    test3: false,};console.log(Object.values(obj1));// expected output: Array ["atit", 53, false]
02、Object.keys()
此方法返回对象键名的数组。
const obj1 = {    test1: 'atit',    test2: 53,    test3: false,};console.log(Object.keys(obj1));// expected output: Array ["test1", "test2", "test3"]
03、Object.entries()
此方法返回对象的 [key, value] 对的数组。
const obj1 = {    test1: 'atit',    test2: 53,    test3: false,};for (let [key, value] of Object.entries(obj1)) {    console.log(key, value);}//test1 atit//test2 53//test3 false
我们还可以使用 hasOwnProperty 来检查对象中是否存在键。
for (let key in obj1) {    if (obj1.hasOwnProperty(key)) {        console.log(key, obj1[key]);    }}//test1 atit//test2 53//test3 false
04、Object.fromEntries()
此方法将键值对列表转换为对象。
const test = new Map([  ['atit', '51'],  ['patel', 52]]);const obj1 = Object.fromEntries(test);console.log(obj1);// expected output: Object { atit: 51, patel: 52 }
英文 | https://javascript.plainenglish.io/javascript-basics-4-different-ways-to-iterate-over-an-object-a5d16335cef
翻译 | 杨小爱
(0)

相关推荐

  • 熬夜7天,我总结了JavaScript与ES的25个知识点

    前言 说起JavaScript,大家都知道是一门脚本语言.那么ES是什么鬼呢?ES全称ECMAScript ,是JavaScript语言的国际标准. 最近,我总结了25条JavaScript的基础特性 ...

  • const关键字:终于拥有真正的常量声明语句

    本文首发于个人网站:const关键字:终于拥有真正的常量声明语句 你好,今天大叔想和你唠扯唠扯 ES6 新增的关键字 -- const.在说 const 关键字之前,大叔先和你唠唠大叔自己对 cons ...

  • Vue响应式系统如何操作运用?本文详解

    前言 之前学习 vue 的时候,一直没刨根问底过.在看到网上这类文章比较多,参差不齐的质量有时候看的一头雾水.当然也有不错的文章,但是终究是别人的理解.于是写一篇关于自己的理解记录下来,亲身实践才能收 ...

  • java开发之常用的Javascript对象方法整理分享

    Javascript 对象方法是包含内置函数定义的属性,用于有效地处理单个对象并从中获取信息. 语法:ObjectName.methodName() 在本文中,我们将讨论 Javascript 中 7 ...

  • 前端面试题整理——Javascript基础

    常见值类型: let a; //undefined let s = 'abc'; let n = 100; let b = true; let sb = Symbol('s'); let nn = N ...

  • JS的原型和继承

    __proto__ 除null和undefined,JS中的所有数据类型都有这个属性: 它表示当我们访问一个对象的某个属性时,如果该对象自身不存在该属性, 就从它的__proto__属性上继续查找,以 ...

  • JavaScript 里三个点 ... 的用法

    Three dots ( - ) in JavaScript Rest Parameters 使用 rest 参数,我们可以将任意数量的参数收集到一个数组中,然后用它们做我们想做的事情. 引入了其余参 ...

  • Python中可迭代对象怎么获取迭代器?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • JavaScript中的 Canvas 对象

    Canvas 对象是 HTML5 中新增的.Canvas 对象表示一个 HTML 画布元素 - <canvas>.它没有自己的行为,但是定义了一个 API 支持脚本化客户端绘图操作.注意: ...

  • javaScript中的 Anchor 对象

    Anchor 对象表示 HTML 超链接.Anchor 对象的属性属性描述accessKey设置或返回访问一个链接的快捷键.charset设置或返回被链接资源的字符集.coords设置或返回逗号分隔列 ...

  • javascript中的Date 对象

    Date 对象Date 对象用于处理日期和时间.注:Date 对象会自动把当前日期和时间保存为其初始值.Date对象方法分为两种:一种使用本地时间:一种使用世界时间UTC(即方法中有"UTC ...

  • JavaScript中创建默认对象的方式

    <script> //方式一 let obj1 = new Object(); obj1.name = "zs"; obj1.age = 18; obj1.gender ...

  • 几种突破中摆脱对手的好方法

    实战突破中,面对防守人如何得分?今天实用君带来一些篮下进攻端摆脱对手的好方法,球场上比较常见,关键高效而且容易学! 突破慢三步环绕上篮! 面对和我们身材身高差不多的防守球员,在我们进行突破对手一路紧逼 ...

  • JavaScript 中,5 种增加代码可读性的最佳实践

    作者:Milos Protic 译者:前端小智 来源:blog.risingstack 为了保证的可读性,本文采用意译而非直译. 简介 如果咱们关注代码本身结构及可读笥,而不是只关心它是否能工作,那么 ...

  • 失眠、口腔溃疡、痛经,这13种常见病中成...

    失眠.口腔溃疡.痛经,这13种常见病中成药,解决健康路上拦路虎,赶快收藏,错过可惜! 1.地衣芽孢杆菌活菌胶囊❆❆❆畅通无阻❆❆❆肠炎 2.大黄利胆胶囊❆❆❆畅通无阻❆❆❆脂肪肝 3.清胰利胆颗粒❆❆ ...

  • 穷人最容易陷入这3种思维中,难怪很难翻身

    什么叫穷人? 这个没有太明确的界限. 总的来说,就是只能勉强生存,离财富自由还很远的人. 大部分人,都是属于穷人的范围. 这个世界上,穷人多,富人少. 但大部分的财富,却是在富人身上. 这看上去,非常 ...