按嵌套属性对对象的对象进行排序

2024-02-08

我有一个如下所示的对象。如何根据嵌套对象中的公共属性对类似的内容进行排序。我期望的输出是玩家 2 根据较高的分数排在第一位。

我的挑战是访问每个对象的属性进行排序。

这是我的想法和尝试,但它没有进行排序。

Object.keys(data).sort(function(p1, p2){
    return p1.score - p2.score;
}).forEach(function(key) {
    var value = data[key];
    delete data[key];
    data[key] = value;
});

My data

var data =
    { 
      player1:
       { score: 4,
         cards: 6 },
      player2:
       { score: 6,
         cards: 4} 
    }

您需要使用对象而不是键的属性对数据进行排序,然后必须将其恢复,因为您需要降序排序。

return data[b].score - data[a].score;
//     ^^^^^^^         ^^^^^^^        object
//          ^               ^         descending

我建议使用空对象并按顺序键插入属性。

var data = { player1: { score: 4, cards: 6 }, player2: { score: 6, cards: 4 } },
    sorted = {};

Object
    .keys(data).sort(function(a, b){
        return data[b].score - data[a].score;
    })
    .forEach(function(key) {
        sorted[key] = data[key];
    });

console.log(sorted);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按嵌套属性对对象的对象进行排序 的相关文章

  • 将 Json 数据返回给 Ajax 调用

    我在 MVC 中有一个方法 我将其发布到它 并且我需要返回一些数据以进行处理 这是我发布到的 MVC 方法 返回值是 json 数据 HttpPost public JsonResult GetCalculateAmortizationSc
  • 如何精确缩放已翻译的d3地图

    我有一张已翻译的地图 以使其正确适合画布 我正在尝试实现一种缩放它的方法 它确实有效 但是当您放大时它会远离中心 而不是以鼠标甚至画布为中心 这是我的代码 function map data total views var xy d3 ge
  • 弃用警告:时刻构造回退到 js Date

    我正在尝试转换这个日期时间 150423160509 这是 utc 日期时间 改为以下格式 2015 04 24 00 05 09 本地时区 通过使用 moment js var moment require moment timezone
  • 刷新页面后保留输入值

    我有一个带有输入字段的表单 该输入包含一个下拉菜单 从数据库中读取信息 如果用户输入值 并且当他到达下拉菜单时 他没有找到他想要的内容 他会转到另一个页面将此信息添加到下拉菜单 然后转到第一页继续输入信息 如果他转到另一个页面向下拉菜单添加
  • Javascript - 使数组索引 toLowerCase() 不起作用

    我试图将所有数组索引设置为小写字符串 但它不起作用 我在这里查看了其他答案并尝试了他们的解决方案 例如使用toString 添加之前toLowerCase但它不起作用 这很奇怪 我创建了一个问题的jsfiddlehere https jsf
  • jQuery数据表设置列设计和成功回调中的值

    我为我的数据表编写了以下代码 它用我的数据库中的内容填充表 如下所示 if datatable null datatable destroy datatable tableProducts DataTable pageLength 50 b
  • 如何将节点 sqlite3 与 q (promise) 一起使用

    我正在尝试将 Promise 与 sqlite3 一起使用 这是我的源代码的一部分 this deleteTag function tag project var db this db if project return q nfcall
  • TypeError:cli.init 不是 React Native 的函数

    在 MacBook Air M1 芯片中运行 npx react native init appName 时 TypeError cli init is not a function at run opt homebrew lib node
  • 如何显示/隐藏jsf组件

    在我的一个 JSF 应用程序中 顶部的标题部分包含 selectOneMenu 底部的内容部分显示过滤器组件 默认情况下 应用程序首先在顶部显示 selectOneMenu 数据 在底部显示相应的 Filter 信息 如果用户选择不同的se
  • 在Javascript中将RGB数组转换为RGBA数组的快速方法

    我正在使用的模拟器在内部存储 RGB 值的一维帧缓冲区 但是 HTML5 画布在调用 putImageData 时使用 RGBA 值 为了显示帧缓冲区 我当前循环遍历 RGB 数组并以某种方式创建一个新的 RGBA 数组与此类似 https
  • 预加载 javascript 和 css 文件

    我目前正在开发一个移动网站 该网站大量使用图像 CSS 和 JavaScript 例如 它使用未压缩的 150KB 的库 我为图像构建了一个预加载器 效果相当好 function loadImages images var sum 0 fo
  • Moment.js 动态更新时间(以秒为单位)

    我试图显示时钟 that 每秒更新一次 e g 2015 年 1 月 5 日 12 05 01 它似乎对我来说工作得很好 对于相同的代码 并且只有 moment min js 指向v2 11 0 看看代码 来源 MilkyWayJoe va
  • Google 地图 Javascript v3 折线点击事件

    我正在尝试显示一张地图 其中有多条路线布置为折线 单击多段线时 我想显示特定于该线的数据 将数据与线关联不是问题 但无论单击哪条线 显示的数据都会与最近绘制的线关联 就好像每条新折线都会覆盖最后一条线一样 我有一个数据库 其中包含 gpx
  • 如何获取 Spotify API 的访问令牌?

    我已经研究 Spotify api 和示例源代码几天了 但我仍然不知道如何获取访问令牌来访问用户的播放列表数据 我已经到达了拉起登录窗口 用户登录 然后收到授权码的地步 此时 我尝试做这样的事情 window open https acco
  • JavaScript/jQuery - “$ 未定义 - $function()”错误

    我正在尝试运行 JavaScript jQuery 函数并且Firebug http en wikipedia org wiki Firebug 28software 29得到错误 is not defined function JavaS
  • 在 Windows 上静默安装 Qt55 Enterprise

    编辑 在 Qt 支持的帮助下 我已经解决了如何自动化 Qt 企业安装程序的这两个部分 下面是脚本调用 我正在尝试在 Windows 8 1 和 Windows 10 上静默安装 Qt 5 5 1 Enterprise 使用 script 开
  • 如何处理 setTimeout() 的多个实例?

    阻止创建 setTimeout 函数的多个实例 在 JavaScript 中 的最推荐 最佳方法是什么 一个例子 伪代码 function mouseClick moveDiv div 0001 mouseX mouseY function
  • FullCalendar:如何重新创建/重新初始化 FullCalendar 或批量添加多个事件

    我正在尝试将新事件批量添加到日历中 但未能找到方便的使用方法 所以我决定用新的事件数组重新初始化视图 所以我尝试了以下方法 var events title Event start new Date y m d 10 description
  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • 文件和目录条目 API 在 Chrome 中损坏?

    我正在尝试使用文件和目录条目 API 创建一个文件上传器工具 该工具允许我将文件和目录的任意组合放入浏览器窗口中 以供读取和上传 我完全意识到 可以通过使用文件输入元素来实现类似的功能webkitdirectory已启用 但我正在测试一个用

随机推荐

  • java bean如何将多个对象封装成一个

    在定义中说 java bean将许多对象封装成一个对象 Bean 这里的 许多对象 是什么意思以及java bean如何将它们封装成一个对象 None
  • 如何在 python 中使用 ipython 笔记本 Markdown 单元格的内容

    在 IPython 中 我们可以通过以下方式获取先前的输出和输入Out n and In n 变量 是否可以使用 Markdown 笔记本单元的内容并在 python 中使用它 我想在 Markdown 单元格中写入一些文本 This is
  • TouchsMoved 以不规则的间隔调用

    我正在为 iOS 制作一款游戏 您主要在屏幕上拖动大对象 当我在实际的 iPad iPhone 上运行游戏一段时间 连续在屏幕上画圈拖动对象 时 每隔 5 分钟左右拖动的对象会卡顿约 10 30 秒 然后 它又恢复如丝般光滑的移动状态 从视
  • Delphi中如何区分多个键盘?

    我的电脑上连接了两个键盘 一个用于输入 TMemo1 另一个用于输入 TMemo2 两者都可以同时打字 问题是我无法区分键盘一输入的内容和键盘二输入的内容 有没有办法区分某些输入来自哪个设备 Dian 你可以使用注册原始输入设备 http
  • struct.error:解包需要长度为 16 的字符串参数

    处理 PDF 时文件 2 pdf https yadi sk i 2vABlTaexZerg使用 pdfminer pdf2txt py 我收到以下错误 pdf2txt py 2 pdf Traceback most recent call
  • 以编程方式将产品添加到购物车并更改价格

    我想以编程方式将产品添加到购物车 另外 我想在添加到购物车时更改产品价格 假设我的产品价格是 100 美元 添加到购物车后我想将其更改为 90 美元 我将产品添加到购物车 但是 我无法更改产品价格 是否可以 以下是将产品添加到购物车的代码
  • 使用 nginx/gunicorn 进行 Django 文件上传 - 媒体权限

    我试图允许 django 站点的用户通过模型上的 FileField 将文件 主要是 PDF 上传到我的服务器 但是 当我尝试使用我的模型表单生成的上传字段时 我不断遇到 Errno 13 Permission Denied 我在四处寻找时
  • ConcurrentDictionary.GetOrAdd 真的是线程安全的吗?

    我有这段代码 如果该任务是为相同的输入创建的 我想等待正在进行的任务 这是我正在做的事情的最小再现 private static ConcurrentDictionary
  • Jetty SSL 配置 Apache karaf

    我正在尝试配置 Jetty 以在 Apache Karaf OSGI 容器中使用 SSL http 有效 但 https 无效 可能是什么问题呢 我的配置详细信息如下 等 jetty xml
  • 在 Weblogic 中配置容器管理的安全性

    有人知道这方面的任何指南吗 我是 weblogic 和容器管理安全性的新手 我已经做的是 在 Weblogic 中设置 LDAP 身份验证器 在 Eclipse 中创建一个简单的 Web 应用程序 配置 web xml 添加了 securi
  • 使用 ClassFileTransformer.transform 进行字节码检测

    我写了一个类premain方法并在该方法中我添加了一个ClassFileTransformer to Instrumentation Instrumentation addTransformer 我已经使用调用了一个应用程序 java ja
  • Django 中的对象所有权

    我想知道如何使用 django 模型完成一个简单的 对象所有权 系统 这样默认情况下 只有对象的所有者可以编辑它 我试图允许 管理 组代表对象所有者编辑所有对象 并且此时添加了自定义权限 class Meta permissions man
  • MS Excel 从上到下查找列

    我在寻找 LOOKUP 从上到下搜索列的方法时遇到问题 情况是这样的 我需要为 Excel 创建一个公式来搜索句子中的硬件部分 例子 句子 A1 客户电脑无法开机 检查主板 主板故障 更换主板 PSU 电量不足 更换电源 这是查找范围列 硬
  • 如何在角度组件 Angular 1.5 及以上版本中使用 $compile

    我正在从指令迁移到组件 但使用 compile As 时出现错误 compile ReturnDomElement scope 应该使用什么来代替 scope 因为我没有在我的组件中注入 scope None
  • 在docker环境中设置子域

    我在家里的 Ubuntu 服务器 14 04 Trusty Tahr 上的 Docker 容器中运行不同的服务 我目前的设置如下 詹金斯 jenkins slarti gitlab slarti 下的 Gitlab 和 Leanlabs i
  • 使用 scipy.sparse.csc_matrix.toarray() 将稀疏矩阵转换为数组时出错

    我有一个scipy sparse csc matrix http docs scipy org doc scipy reference generated scipy sparse csc matrix html我正在尝试将其转换为数组sc
  • 最小覆盖和功能依赖性

    考虑到以下功能依赖性 我将如何计算最小覆盖范围 A gt B ABCD gt E EF gt GH ACDF gt EG 在讲义中 它给出了最小覆盖率的推导 但我不明白它 例如为了摆脱ACDF gt E A gt B gt AACD gt
  • 更改 Android 操作栏按钮样式

    我目前正在改变对我的看法ActionBar MenuItem像这样 MenuItem menuItem menu add title TextView tv new TextView context tv setTypeface myTyp
  • Xamarin Forms 选择器的默认值

    我想在打开页面时获取第一个数据 但没有 我不知道我哪里犯了错误 有人可以帮忙吗 这是我的守则 Xaml
  • 按嵌套属性对对象的对象进行排序

    我有一个如下所示的对象 如何根据嵌套对象中的公共属性对类似的内容进行排序 我期望的输出是玩家 2 根据较高的分数排在第一位 我的挑战是访问每个对象的属性进行排序 这是我的想法和尝试 但它没有进行排序 Object keys data sor