如何将对象数组转换为一个特定对象?

2023-12-23

所以,我在上次面试中完成了一项很小但对我来说很难的任务。我只是重新设置了如何解决它。我认为我们需要在这个任务中实现递归,但我不清楚。

任务:

let arr = [{name: 'width', value: 300}, {name: 'height', value: 100}];

在输出上我们必须有:

let obj = {width:300, height: 100};

数组对象的数量可以是无限的。

附: 如果您向我提供有关如何完成此任务的知识链接,我将很高兴。

谢谢。


使用该函数的替代方案reduce

简要说明

  • 功能Array.prototype.reduce循环一个数组,为每个对象应用一个处理程序。
  • 累加器a将包含每次迭代的结果。
  • 功能converter接收累加器和当前对象。
  • This Object.assign(a, {[name]: value})为当前累加器分配一个新属性。
  • 计算属性名称 {[name]: value}该代码将构建一个对象,如下所示:


{ width: 300 }
  
let arr = [{name: 'width', value: 300},{name: 'height', value: 100}],
    converter = (a, {name, value}) => (Object.assign(a, {[name]: value})),
    obj = arr.reduce(converter, {});

console.log(obj);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://codepen.io/synthet1c/pen/KyQQmL.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将对象数组转换为一个特定对象? 的相关文章

  • 如何理解javascript React中的这段代码

    我在网上找到了这个函数在js中的实现 这个函数递归地过滤一个对象数组 每个对象可能有属性 children 它是对象数组 并且对象也可能有孩子等等 该函数工作正常 但我有点不明白 这是我的功能 getFilteredArray array
  • 变量可以存储在图像或 div 标签中吗?

    我已经成功地创建了一个巨大的div其中包含许多小divs 附加到它上面 所以它创建了一个网格 我的目标是能够在每个较小的变量中存储两个变量divs 瓷砖 目前 我可以通过更改较小的图块来存储一个值innerHTML 但是 我希望能够存储的不
  • 如何制作可扩展的文本框?

    我想制作一本以给定宽度 高度开始的教科书 然后 如果用户输入的内容超过给定的空间量 文本框就会向下扩展 我该怎么做呢 我使用 CSS 吗 当用户超过允许的行数时 基本文本框仅显示滚动条 如何使文本框将行数再扩展 5 行
  • JSON数据通过JS/AJAX转化为PHP

    Goal 我正在使用 coinmarketcap com API link https api coinmarketcap com v1 ticker convert EUR 预先我将他们的数据转换成 PHP 样本 现在我想使用AJAX J
  • Vuex 2.0 调度与提交

    有人可以解释一下什么时候使用调度和提交吗 我理解提交会触发突变 调度会触发操作 然而 派遣不也是一种行动吗 正如你所说 dispatch触发一个动作 并且commit触发突变 以下是如何使用这些概念 你总是用 dispatch来自路线 组件
  • 按空格键后执行JS代码

    这是我的 JavaScript 代码 var changeIdValue function id value document getElementById id style height value document getElement
  • 谷歌地图 - 缩放时保持居中

    在 Google 地图中 我希望在放大或缩小时能够将地图中心保持在我所在位置的标记上 这是 Ingress 所做的事情 无论您在何处双击 或双击 或在何处捏合 地图都会保持以标记为中心 所以有可能 我现在想到的最好的是 google map
  • 如何在 asp:TextBox 的 keyup 事件上调用 javascript 函数

    如何在asp net的TextBox控件的keyup事件上调用javascript函数 我正在尝试类似的事情 但它不起作用
  • 如何从加载程序中排除文件

    我有 webpack 加载器的下一个配置 module loaders test js include rootDir src loader babel presets es2015 test css loader style css au
  • Jest/Typescript:Jest 和 Typescript 中的模拟类依赖项

    我有依赖于类 A 的类 B 我想测试类 B 的方法 该方法在内部调用类 A 的方法 现在 我想通过模拟类 A 对类 B 的方法进行单元测试 我的代码结构 class A getSomething return Something class
  • 使用 Javascript 基于 Cookie 的重定向

    我正在尝试根据 cookie 的存在创建重定向 所以当用户连接到我的网站时jonathanstevens org他们第一次被重定向到jonathanstevens org landing 代码部分 Global js function cr
  • 使用 jQuery 检测用户何时滚动到 div 底部

    我有一个 div 框 称为 Flux 里面有可变数量的内容 此 divbox 的溢出设置为自动 现在 我想做的是 当使用滚动到此 DIV 框的底部时 将更多内容加载到页面中 我知道如何执行此操作 加载内容 但我不知道如何检测用户何时滚动到
  • 在 React 中渲染来自 Firebase 的数据

    请帮助我渲染从 Firebase 实时数据库检索的数据 我成功从 Firebase 中以数组形式检索数据 下一步是显示数据 问题就从这里开始了 我想要显示的数据应该存储在 模块 状态 首先 它被设置为一个空数组 然后检索数据 通过 Coum
  • 我的递归条件是否正确计算二叉树高度?

    我想在你的帮助下知道我的代码是对还是错 因为遗憾的是我无法运行它来检查 没有编译错误 我想做的是找到二叉树的高度 当然 树不必是平衡的 二叉树中的每个节点可以有两个节点作为子节点 http en wikipedia org wiki Bin
  • 包含菜单按钮的 Ag-grid 单元格

    我在我的项目中使用社区版本的 ag grid 我正在尝试在每一行的一个单元格中添加菜单按钮 单击菜单按钮时 应该会弹出菜单 其中包含编辑 删除 重命名选项 并且当单击菜单上的任何项目时 我需要触发具有行值的事件 我正在尝试创建一个将显示按钮
  • 如何使用Javascript统计通过ajax返回的
  • 的数量?
  • 我有一个 ajax 代码 它将列表项返回为 li one li li Two li 每次都会返回不同数量的 li 的 我想查一下数量 li li 它返回 如何使用 JavaScript 检查它 给你 returnedHTML find li
  • chrome 扩展脚本在某些页面上加载两次甚至更多

    这是我的background js 文件 chrome tabs onUpdated addListener function tabId info tab var sites new Array site2 site1 var url t
  • 为什么我不能分配 const 但我可以控制台记录它?

    我做了一些java脚本练习 让几个链接按字母顺序排列 这是 HTML a href a is good a a href c is good a a href b is good a JavaScript const allhref doc
  • 找到每个元素的所有父元素

    我正在尝试创建一个面包屑而不使用 url 路由提供者 并且不使用 jQuery 我有一棵这样的树 Humans Trees Animals Cats Lions Dogs Terrier Bulldog Cocker Cars 我希望当我点
  • Cookies - 日期过期不起作用,关闭浏览器时cookies将被清除

    我试图在 cookie 中保存用户电子邮件 1 年 但当浏览器关闭时 cookie 会被删除 这是我尝试使用的代码 document cookie userEmail email document cookie expires Wed 31

随机推荐

  • 自定义 UISlider

    如何自定义UISlider 更改样式 背景 你可以通过this http www raywenderlich com 4344 user interface customization in ios 5自定义控件的教程 要自定义 UISli
  • 触发一次后关闭事件监听器

    我有一个脚本可以触发一个提供免费下载的弹出框 当用户的鼠标离开页面时它会触发 显然不适用于移动设备 我已经有一个可行的解决方案 在我的脚本中 我设置了一个 cookie 来停用脚本 30 分钟 并且该部分有效 如果我刷新页面 弹出窗口不会再
  • GraphQL:成功突变后如何发出警告?

    让我们想象一下我有一个createPost插入新帖子的突变 在典型的应用程序中 该突变可以 成功 返回一个Post 失败 抛出错误 我使用阿波罗错误 https github com thebigredgeek apollo errors来
  • 如何在 AWS Lambda 中缓存多个 AWS Parameter Store 值?

    我想限制在 AWS Lambda 中调用 AWS Parameter Store 的次数 使用全局变量 我在第一次调用 Parameter Store 时缓存 Parameter Store 值 main py import os impo
  • Highcharts x 轴日期时间的最大间隔?

    我有一张每日图表 涵盖 00 00 到 23 59 但对于实时数据 假设当前是上午 9 点 默认情况下它会将图表从 00 00 拉伸到 09 00 这对我来说看起来不太好 我想要的是当天 23 59 处的 x 轴最大值 因此它将把 09 0
  • 检查文件是否正在使用 VBS

    我想制作一个小的 VBS 脚本来告诉用户文件是否正在使用 我有一个文件 如果该文件正在使用 VBS 应该给我一条消息 表明该文件正在使用 如果文件没有被任何进程使用 VBS 应该给我消息说文件没有被使用 我试过this http suppo
  • Swift - 如何关闭所有视图控制器以返回根目录

    我希望我的应用程序可以在每次用户需要时转到第一个视图控制器 所以我想创建一个函数来关闭所有视图控制器 无论它是被推入导航控制器还是以模态方式呈现或打开任何方法 我尝试了各种方法 但我未能肯定地关闭所有视图控制器 有简单的方法吗 尝试这个 s
  • 使用 Swift 3 的 FB 登录不返回任何值,并且在成功登录后不让用户返回应用程序

    我在用着iOS 10 Swift 3集成FB Login 我已遵循以下所有步骤Facebook文档 现在的问题是 成功登录后 它不会返回任何值 也不会让用户返回应用程序 注意 同样适用于Swift 2 您好 我向 facebook 开发人员
  • 针对 API 目标的计划 EventBridge 规则

    是否可以创建一个 EventBridge 规则 该规则可以安排在一天中的特定时间运行并调用 API 作为自定义目标 如果目标是 AWS 或合作伙伴服务 则似乎可以为目标设置计划 但如果它们是自定义配置的端点 则不能为目标设置计划 我想做的就
  • 服务引用错误:无法生成服务引用的代码

    我有一个 Windows 服务解决方案 并尝试在 VS2010 中添加对 Hermes 开源 ebms 消息服务器 Web 服务的服务引用 我可以使用 Web 服务的 URL 找到它 但是当我尝试填充服务引用时 我在 Visual Stud
  • SQL Server 中 BIT 字段比 int 字段快吗?

    我有一些字段的表 其值将为 1 0 随着时间的推移 该表将变得非常大 使用位数据类型好还是使用不同类型来提高性能更好 当然 所有字段都应该建立索引 我无法为您提供任何有关性能的统计数据 但是 您应该始终使用最能代表您的数据的类型 如果您想要
  • Angular 2 - 路由 - CanActivate 与 Observable 配合使用

    我有一个验证卫士 用于路由 实现可以激活 canActivate return this loginService isLoggedIn 我的问题是 CanActivate result 取决于 http get result 登录服务返回
  • 使用 R 的 Plumber - 创建 GET 端点来托管 CSV 格式的数据而不是 JSON

    我认为这是 R 管道工库的一个很好的快速演示 但主要是我正在努力以 csv 格式提供数据 我正在使用 R 的管道工包来托管我的一些体育数据的 API 端点 目前 我有一些数据可以获取我正在尝试提供的 MLB 棒球队的获胜总数 使用水管工 我
  • Python matplotlib 错误栏问题

    给定这些 numpy 数组 x 0 1 2 3 4 5 6 7 8 9 y 0 0 02083473 0 08819923 0 9454764 0 80604627 0 82189822 0 73613942 0 64519742 0 56
  • 应用程序未安装错误

    我为我的 Nexus 7 创建了一个未签名的 apk 当我尝试安装它时 设备会弹出 应用程序未安装 在 Eclipse 模拟器中一切正常 我尝试将目标更改为 4 2 4 3 4 4 同样 所有工作都在模拟器中进行 但不在设备上进行 设备运行
  • 通过循环依赖从 Jersey 获取 JSON

    我正在编写一个使用 Jersey 和 JAXB 的服务 我的类使用 XMLRootElement XMLElement 等进行注释 我在两个类之间存在循环依赖关系 因此我使用 XMLTransient 注释了循环依赖属性 因此 当我调用我的
  • 如何在登录时通过 JWT 令牌从 Azure Active Directory 传递自定义扩展属性?

    我在 Azure Active Directory 中有自定义扩展属性 通过 Azure AD Connect 映射 Azure AD 上的扩展属性采用以下形式extension
  • 使用 H2 控制台访问 mem 或 fs 数据库表

    我正在尝试访问 Play 中应用程序的表格 框架 但我无法使用控制台找到它 例如 我有两个实体模型 Address and Campus 我可以正常创建对象并保存 但我想查看 fs 或 mem DB 中的更改 但 H2 控制台不显示表Add
  • 如何获取反应传单地图的边框并检查地图内的标记?

    我的代码在这里 import React useState useEffect useRef from react import restaurantsInfo from RestaurantsList json import App cs
  • 如何将对象数组转换为一个特定对象?

    所以 我在上次面试中完成了一项很小但对我来说很难的任务 我只是重新设置了如何解决它 我认为我们需要在这个任务中实现递归 但我不清楚 任务 let arr name width value 300 name height value 100