将数组转换为对象数组

2024-01-12

如何将数组转换为 JavaScript 对象数组。

例如我有一个数组

data = [
    ["fruits","frozen","fresh","rotten"],
    ["apples",884,494,494],
    ["oranges",4848,494,4949],
    ["kiwi",848,33,33]
]

我想将其转换为名称值对。

例如,结果集合中的第一个对象将是

 {"fruits": "apple", "frozen": 884, "fresh": 494, "rotten": 494}

其余数据依此类推。


DEMO http://jsfiddle.net/ZsGpS/2

使用您提供的数据:

var data = [
    ["fruits","frozen","fresh","rotten"],
    ["apples",884,494,494],
    ["oranges",4848,494,4949],
    ["kiwi",848,33,33]
]

以下函数将把数组的第一个元素视为对象属性的键。然后它将循环剩余的元素,并使用这些键将它们转换为对象。最后,它将返回这些新对象的数组。

function convertToArrayOfObjects(data) {
    var keys = data.shift(),
        i = 0, k = 0,
        obj = null,
        output = [];

    for (i = 0; i < data.length; i++) {
        obj = {};

        for (k = 0; k < keys.length; k++) {
            obj[keys[k]] = data[i][k];
        }

        output.push(obj);
    }

    return output;
}

Output

[
    { fruits: 'apples', fresh: 494, frozen: 884, rotten: 494 },
    { fruits: 'oranges', fresh: 494, frozen: 4848, rotten: 4949 },
    { fruits: 'kiwi', fresh: 33, frozen: 848, rotten: 33 }
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数组转换为对象数组 的相关文章

  • 在 Javascript 中获取第一个数字出现后的子字符串

    我正在尝试提取第一个数字之后 并包括 的字符 ABC 123SD gt 123SD 123 gt 123 123SD gt 123SD ABC gt 我当前的解决方案如下 var string1 ABC 123SD var firstDig
  • ajaxStop() 不触发

    这是不起作用的代码 document ajaxStop function this unbind ajaxStop prevent running again when other calls finish Display everythi
  • 在 javascript、jQuery 或 css 中,如何让 div 或 iframe 展开以填充其余空间

    我有三个 iframe 我将顶部 iframe 设置为 50px 高度 将底部 iframe 设置为 50px 但我希望中间 iframe 扩展以填充其余空间 有没有一种技术可以用来对任何窗口屏幕尺寸执行此操作 谢谢 example
  • 打开 md-calendar 时滚动到当前日期

    目前正在构建一个使用 Angular Material 的应用程序 我们需要一个 md calendar 组件 我们想要自定义按钮样式和内容 因此不使用普通的 md datepicker 问题是 当 md calender 打开时 滚动位置
  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • 获取向量幂的有效方法

    我编写了一个代码 在数值上使用勒让德多项式直至某个高 n 阶 例如 case 8 p 6435 x 8 12012 x 6 6930 x 4 1260 x 2 35 128 return case 9 如果向量x太长这会变得很慢 我发现说之
  • javascript jquery 使用脚本更改脚本的src

    我有一个 JavaScript 脚本 它有一个 src 元素 这个 src 是一个 url 我想使用 javascript 更改它 一次更改为其他内容 或者动态创建它 使用 javascript jquery 动态创建脚本元素的最佳方法是什
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 有没有办法将变量从 javascript 导入到 sass 或反之亦然?

    我正在制作一个依赖于块概念的 CSS 网格系统 所以我有一个基本文件 例如 max columns 4 block width 220px block height 150px block margin 10px 它被 mixin 使用 m
  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • JavaScript 测验在提出所有问题之前结束

    我现在正在学习 JavaScript 并且正在创建一个测验 我的测验运行正常 控制台中没有任何错误 但它会跳过问题 有时会在回答所有问题之前结束测验 即使给出正确答案 也会减少时间 我不太确定为什么它会这样做 因为在我看来它的编码是正确的
  • 获取点击的的DOM路径

    HTML div class lol a class rightArrow href a div 伪代码 rightArrow click function rightArrowParents this dom dom is the pse
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • 如何处理requireJs超时错误?

    我正在使用 require js 作为加载框架编写一个移动混合应用程序 我遇到加载错误的问题 我想做的是在设备离线且无法下载在屏幕上显示地图所需的 google 地图 API 脚本时设置后备解决方案 我得到的只是 Uncaught Erro
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • Firebase 警告:使用 Firebase Cloud Function 搜索数据时使用未指定的索引

    我构建了一个 Firebase 云函数 用于查找 IsNotificationEnabled 值等于 true 的用户 我的部分职能 export const sendPushNotification functions https onR
  • 使用 AngularJS 多部分表单数据将文件上传到 Google Cloud Storage

    我正在尝试使用 AngularJS 中指定的多部分方法将图像文件上传到 Google Cloud Storagehttps cloud google com storage docs json api v1 how tos upload m
  • mozilla pdf.js 没有全视图

    我喜欢这个 pdf 查看器https github com mozilla pdf js https github com mozilla pdf js Demo http mozilla github com pdf js web vie
  • Node npm 包抛出使用严格:全局发布和安装后未找到命令

    我正在尝试发布 npm 包 当我全局安装该包并尝试运行 cli 命令时 我收到此错误 nvm versions node v0 12 2 bin myPack line 1 use strict command not found nvm
  • 无法使用 HTML 设置未定义 jQuery UI 自动完成的属性“_renderItem”

    我使用以下代码将 jQuery UI 自动完成项呈现为 HTML 这些项目在自动完成控件中正确呈现 但我不断收到此 JavaScript 错误并且无法移动过去 Firefox 无法转换 JavaScript 参数 Chrome 无法设置未定

随机推荐

  • HTML 和 CSS 中的缩进列表

    我是 CSS 和列表新手 我尝试使用我在 w3schools 上看到的代码之一 它显示了如何缩进列表 h4 A nested List h4 ul li Coffee li li Tea ul li Black tea li li Gree
  • 如何在上游作业中获取下游作业的控制台输出?

    我正在尝试找到解决方法 因为第一个问题仍未得到解答 无法使用 Jenkins 的凭据运行 Start Job https stackoverflow com questions 48397232 cant run start job wit
  • 使用逻辑或 (||) 测试 if 语句的覆盖率 - 使用 Java 的短路,JaCoCo 希望我覆盖的第四个条件是什么?

    这可能是一个相当简单的问题 但我不知所措 我有一个 if 语句 如下所示 if TheEnum A equals myEnum TheEnum B equals myEnum TheEnum can be A B C G 不仅仅是 4 个选
  • 如何使用 Google Cloud PubSub 和 Run 处理资源密集型长时间运行的任务?

    我有一个 Google Cloud PubSub 主题 有时有数千条消息 有时有零条消息传入 这些消息代表每条可能需要一个小时以上的任务 最好我能够使用 Cloud Run 来实现此目的 因为它可以很好地满足需求 如果发布一千条消息 我希望
  • Angular JS $http.success() vs $q.resolve()?

    我正在尝试找出承诺 与承诺相比 简单地发出 http 请求 然后根据是否成功 success 和失败 fail 采取行动有什么区别 q q defer 与 q resolve http本身使用 q 这两项服务不在同一级别上运行 http g
  • 如何修复 PHP_Beautifier 的空行?

    我目前正在使用PHP 美化器 http pear php net package PHP Beautifier 用于使用以下命令 如选项 格式化代码 t l ArrayNested IndentStyles style bsd NewLin
  • 以编程方式添加 python 解释器

    有没有一种简单的方法可以使用 Pydev 插件界面添加和更改解释器 我正在运行 pydev 1 6 1 我希望能够根据我的环境中的可用解释器列表添加和使用给定的解释器 现在我可以看到 PythonInterpreterManager 有一个
  • 具有自定义哈希函数和比较谓词的 unordered_map 给出编译错误

    我有一个结构作为 std unordered map 的关键 我编写了自定义哈希函数和比较谓词 当我尝试编译代码时 出现以下错误 错误 静态断言失败 键相等谓词必须可以使用两个键类型的参数调用 1831 1831 static assert
  • 支持 .NET Framework 3.5 SP1 客户端配置文件吗?

    针对 NET Framework 3 5 SP1 客户端配置文件时是否需要考虑任何设计注意事项 我知道它是完整框架的子集 但是缺少什么以及我如何知道我的应用程序是否需要客户端配置文件或完整框架 有没有人使用客户配置文件成功开发了一个应用程序
  • 使用 jQuery 将 TD 隐藏到 DIV 中

    我正在尝试隐藏带有所有 TD 的 div 但仅将文本隐藏到 div 中 而不隐藏 TD 标签有人知道如何解决此问题吗 我的代码是 jQuery 代码 div default results hide HTML 代码 div Div Cont
  • 对象检测 API 的 Tensorflow ConcatOp 错误

    我正在遵循tensorflow对象检测api指令并尝试训练现有的对象检测模型 faster rcnn resnet101 coco with 我自己的数据集有 50 个类 所以根据我自己的数据集 我创建了 TFRecord 分别用于训练 评
  • 什么时候需要在 Tkinter 应用程序中调用 mainloop?

    我见过的每个 tkinter 教程都声称tkinter mainloop必须调用该函数来绘制窗口和处理事件 并且它们总是调用此函数 即使在 hello world 程序中也是如此 但是 当我在交互式 shell 中尝试这些时 窗口会正确绘制
  • 在Python中,len(list)有什么作用?

    Does len list 每次调用时计算列表的长度 还是返回内置计数器的值 我有一个上下文 我需要每次通过循环检查列表的长度 例如 listData for value in ioread if len listData gt 25 pr
  • Android 版 Firebase 突然无法在我的测试设备上运行

    我正在使用 Firebase 身份验证和实时数据库构建一个应用程序 昨天之前 在测试时它在我的设备中运行良好 但我现在甚至无法登录 Firebase 但该应用程序可以在我朋友的其他设备上运行 这里的实际问题是什么 在自己的真实设备上测试应用
  • jQuery dataTables:使用 jQuery 在单元格中使用换行符/换行符导出

    我正在尝试使用插件 jquery dataTable 生成可导出的数据表 但出于设计原因 我需要在单元格内进行换行 对于 HTML 视图 我简单地使用 br 但是如果我尝试将这个 f e 导出到 PDF 中 它将导致破坏第一个出现的 br
  • 使用 ReactJS 和 React Router 更改每个路由的页面背景颜色?

    使用 ReactJS 和 React Router 前往新路线时如何更改浏览器背景颜色 请参阅下面我的编辑 了解我一路上想到的想法 我可以让它工作 div 在每个页面视图中 但我需要它在完整背景上工作 以便完整浏览器窗口显示背景 我正在使用
  • 追加后如何检查元素是否存在?

    以下脚本应该附加一个元素 我首先检查该元素是否存在 如果不存在 我将创建它并附加它 问题是 由于某种原因 检查似乎不起作用 它不断地一遍又一遍地创建元素 问题 如何检查append后元素是否存在 我的jsfiddle https jsfid
  • 如何将IntelliJ与本地MySQL连接?

    我一直在努力学习如何在本地主机 MySQL 和 IntelliJ 上连接并编写数据库相关任务 那可能吗 如果是 如何实现 连接到本地实例与连接到远程 MySQL 实例本质上相同 只需将 localhost 或 127 0 0 1 替换为您通
  • firebase 可以 100% 离线运行并稍后同步吗?

    我需要构建一个用于任务工作的应用程序 该应用程序可以 100 离线运行 然后在重新连接到互联网时与服务器同步 该应用程序 目前 的数据库中有超过 6000 人 当传教士在现场时需要对其进行搜索 挑战在于我需要在多台笔记本电脑或平板电脑上本地
  • 将数组转换为对象数组

    如何将数组转换为 JavaScript 对象数组 例如我有一个数组 data fruits frozen fresh rotten apples 884 494 494 oranges 4848 494 4949 kiwi 848 33 3