作者:Shadeed译者:前端小智来源:dmitripavlutin点赞再看,微信搜索【大千世界】,关注B站【前端小智】【前端小智】这个人做的没有大厂背景,但态度积极。本文已收录到GitHubhttps://github.com/qq44924588...,文章已分类,也整理了很多我的文档和教程资料。最近开源了一个Vue组件,但是还不够完善。欢迎大家一起完善,也希望大家能给个star支持一下。谢谢。github地址:https://github.com/qq44924588...我们知道,Object.entries()将一个对象转化为一个键值对数组,可以枚举自身的属性。同样,我们也可以将键值对数组转换为对象。constkeyValuePair=[['cow','?'],['pig','?'],]Object.fromEntries(keyValuePair);//{cow:'?',pig:'?'} Object.fromEntries我们知道对象结构是键和值的组合,如下所示:constobject={key:'value',};基于这个逻辑,如果我们想把一个东西转换成一个对象,就只需要同时传递key和value即可。满足这些要求的参数有两类:嵌套键值对的数组映射对象使用Object.fromEntries将数组转换为对象下面是一个嵌套的键值对数组constnestedArray=[['key1','value1'],['key2','value2']]使用Object.fromEntries将数组转换为对象:Object.fromEntries(nestedArray);//{key1:"value1",key2:"value2"}ConvertMaptoobjectusingObject.fromEntriesES6给我们带来了一个新的对象叫做map,它和object非常相似。TC39:映射对象是键/值对的集合,其中键和值都可以是任意ECMAScript语言值。让我们创建一个Map对象://使用构造函数constmap=newMap([['key1','value1'],['key2','value2']])//或者我们可以使用Instancemethod"set"constmap=newMap()map.set('key1','value1')map.set('key2','value2')//结果Map(2){"key1"=>"value1","key2"=>"value2"}让我们使用Object.fromentries将地图转换为对象Object.fromEntries(map);//{key1:"value1",key2:"value2"}对象的类型错误:尝试使用Object.fromEntries将其他类型转换为对象并将以下类型传递给Object.fromEntries将导致捕获TypeError的错误。确保将值作为键值对传递。大家都说简历里没项目可写,所以给大家找了一个项目,还给了一个【搭建教程】。Object.fromEntriesvsObject.entriesObject.fromEntries是Object.entries的倒数。Object.entries()方法返回给定对象自身可枚举属性的键值对数组,而Object.fromEntries()方法将键值对列表转换为对象。constobject={key1:'value1',key2:'value2'}constarray=Object.entries(object)//[["key1","value1"],["key2","value2"]]Object.fromEntries(array)//{key1:'value1',key2:'value2'}对象到对象的转换如果您阅读了TC39提案,这就是引入此新方法的原因。在引入Object.entries之前,将一些非对象结构转换为对象是很麻烦的。通常当我们选择使用Object.entries时,是因为它使我们能够访问许多漂亮的数组方法,例如过滤器。但在转换完成后,我们有点被那个数组困住了。constfood={肉:'?',西兰花:'?',胡萝卜:'?'}//?坚持这个结果...constvegetarian=Object.entries(food).filter(([key,value])=>key!=='meat',)//[["broccoli","?"],[“胡萝卜”,“?”]]好的!我们可以利用所有这些有用的数组方法并仍然返回对象。最后,从对象到对象的转换?constfood={meat:'?',broccoli:'?',carrot:'?'}constvegetarian=Object.fromEntries(Object.entries(food).filter(([key,value])=>key!=='meat'),)//{西兰花:'?',胡萝卜:'?'将数组转换为对象Object.fromEntries的替代方法是ES10,非常新,也许浏览器支持足够友好。那么,让我们看看如何将具有键值结构的数组转换为对象。使用reduce方法将数组转换为对象将数组转换为对象的一种流行方法是使用reduce。constarray=[['key1','value1'],['key2','value2']]constmap=newMap([['key1','value1'],['key2','value2']])functiontoObject(pairs){returnArray.from(pairs).reduce((acc,[key,value])=>Object.assign(acc,{[key]:value}),{})}//Result//{key1:'value1',key2:'value2'}使用库将数组转换为对象Lodash也提供了将键值对转换为对象的方法。_.object将数组转换为对象。传递单个[key,value]对列表,或键列表和值列表。constarray=[['key1','value1'],['key2','value2']]_.object(array)//{key1:'value1',key2:'value2'}_.fromPairs_.fromPairs是_.toPairs的逆向,它的方法返回一个由键值对组成的对象。constarray=[['key1','value1'],['key2','value2'],]_.fromPairs(array)//{key1:'value1',key2:'value2'}浏览器支持原文:https://medium.com/@samantham...代码部署后可能存在的bug无法实时获知。事后为了解决这些bug,花费了大量的时间在日志调试上。顺便在这里给大家推荐一个不错的。Fundebug使用的BUG监控工具。交流文章每周更新。可以微信搜索“大千世界”阅读即时更新(比博文早一两篇)。本文已收录到GitHubhttps://github.com/qq449245884/xiaozhi。我的文档写了很多,欢迎Star和完善,大家可以参考考试中心面试复习,关注公众号,后台会回复福利,福利可以看到,你知道。
