javascript - 按类对对象进行排序,然后使用 d3 命名

标签 javascript sorting d3.js

我有一个对象数组,我想按标题排序,然后按另一个属性是否有值排序。我正在尝试d3.sort,但我认为我做得不正确。我试过:

filtered.sort(function(a, b) {
        d3.ascending(a.claimed, b.claimed) ||
            d3.ascending(a.title, b.title);

以及 a variation of this answer以更好地满足我的需求,但它们似乎都没有正确排序。我有什么遗漏的吗?

这是我正在使用的对象中的数据示例:

author: "String"
claimed: "String" //This should be sorted first
mapClass: "String"
name: "String"
tags: "String"
thumbnail: "URL"
timestamp: "Date"
title: "String" //Then this should be second
url: "URL"

最佳答案

您只是缺少返回语句!这似乎对我有用。

filtered.sort(function(a, b) {
  return d3.ascending(a.claimed, b.claimed) ||
      d3.ascending(a.title, b.title);
});

关于javascript - 按类对对象进行排序,然后使用 d3 命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32262700/

相关文章:

javascript - 将广度优先搜索移植到 Javascript

javascript - 如何在要用作 $ 的函数之间传递 jQuery 函数

ruby - 对包含字符串和整数的字符串进行排序,使字符串按字母顺序排列,所有整数按顺序排列

javascript - 特别是在移动设备上,从任何地方滚动 div(不使用 jQuery 插件)?

javascript - 如何通过回调和匿名函数将 'this' 保留在范围内?

javascript - DRY React : To extend or not. 我的团队似乎不同意

python - 如何根据元素转换成本排序对集合进行排序,以使连续集合之间的更改最小化?

c - 在c中排序5d数组

javascript - 将退出转换添加到基于 D3 圆包的可重用模块

d3.js - d3 单击以在元素位置居中内容或单击