基于 D3 可视化的另一个对象,按特定顺序按值对对象数组进行排序

尤尼斯·迪维亚

我有一个包含颜色的对象数组。我需要按特定顺序按颜色对数组进行排序。

我使用来自 stackoverflow答案按特定顺序对数组进行排序,并且大部分都有效。我现在面临的问题是,当我使用 D3J 对其进行可视化时,不是将所有具有匹配颜色的对象都放在一起,而是按照指定的顺序重复颜色。为什么会发生这种情况,我怎样才能得到正确的排序。

    var sortOrder = {"#F39849": 0, "#E94927": 1, "#538296": 2, "#CCCCCC": 3};

    var sortedData = data.sort(function (p1, p2) {
      return sortOrder[p1.colors] - sortOrder[p2.colors];
    });

完整代码在这里

在此处输入图片说明

斯科特·索耶

我猜这与您的数据中没有colors属性的值有关。我看到的至少有几个。

如果您对未知值进行了一些处理,请说

    var sortOrder = {"#F39849": 0, "#E94927": 1, "#538296": 2, "#CCCCCC": 3, "unknown" : 100};

    return sortOrder[p1.colors || 'unknown'] - sortOrder[p2.colors || 'unknown'];

它可能会起作用。

您可能还想处理colors找到但不在您的列表中的情况,这可能可以用

return ((sortOrder[p1.colors || 'unknown'] + 1) || Infinity) - 
       ((sortOrder[p2.colors || 'unknown'] + 1) || Infinity);

Infinitys为移动任何未发现名单的最后,我们需要+1s到避免这样做0 || Infinity

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

d3基于值的文本标签格式

来自分类Dev

基于计算值的颜色d3区域

来自分类Dev

如何基于另一个对象对数组对象进行排序

来自分类Dev

如何基于另一个值[JavaScript]在对象数组中搜索特定值?

来自分类Dev

仅在处理中基于一个属性对对象数组进行排序

来自分类Dev

是否有示例代码将D3可视化嵌套在另一个可视化中?

来自分类Dev

基于具有自联接的另一个列值按值排序

来自分类Dev

SQL:基于另一个查询的值的顺序对查询结果进行排序

来自分类Dev

删除基于另一个对象的数组项

来自分类Dev

如何在D3中将多个图像添加到svg(基于数据集中的值的数量)

来自分类Dev

根据一个值基于一个对象内的一个值对NSObject数组进行排序

来自分类Dev

IonicModal与AngularNVD3的冲突(基于D3)

来自分类Dev

D3与AngularJs,同一页面上的多个图表具有基于公共密钥的不同数据

来自分类Dev

以编程方式基于另一个对象数组创建一个对象数组

来自分类Dev

按内部的另一个对象值对对象进行排序

来自分类Dev

按类对对象排序,然后使用d3命名

来自分类Dev

按另一个数组对对象的数组列表进行排序

来自分类Dev

按另一个数组对对象数组进行排序

来自分类Dev

如何基于数组和另一个对象创建一个新对象?

来自分类Dev

一个HTML文档中的多个d3可视化

来自分类Dev

在d3中从v3转换为v5不会更新可视化效果,但会添加另一个可视化效果

来自分类Dev

Javascript按另一个数组对对象进行排序

来自分类Dev

根据D3中的属性值对对象进行排序

来自分类Dev

基于多个属性d3选择数据

来自分类Dev

D3:基于svg元素更改数据

来自分类Dev

d3中基于日期的JSON解析

来自分类Dev

D3 - 基于 JSON 数据附加 SVG

来自分类Dev

Mockito:基于另一个对象的Mock对象

来自分类Dev

基于另一个对象键的Javascript对象排序

Related 相关文章

  1. 1

    d3基于值的文本标签格式

  2. 2

    基于计算值的颜色d3区域

  3. 3

    如何基于另一个对象对数组对象进行排序

  4. 4

    如何基于另一个值[JavaScript]在对象数组中搜索特定值?

  5. 5

    仅在处理中基于一个属性对对象数组进行排序

  6. 6

    是否有示例代码将D3可视化嵌套在另一个可视化中?

  7. 7

    基于具有自联接的另一个列值按值排序

  8. 8

    SQL:基于另一个查询的值的顺序对查询结果进行排序

  9. 9

    删除基于另一个对象的数组项

  10. 10

    如何在D3中将多个图像添加到svg(基于数据集中的值的数量)

  11. 11

    根据一个值基于一个对象内的一个值对NSObject数组进行排序

  12. 12

    IonicModal与AngularNVD3的冲突(基于D3)

  13. 13

    D3与AngularJs,同一页面上的多个图表具有基于公共密钥的不同数据

  14. 14

    以编程方式基于另一个对象数组创建一个对象数组

  15. 15

    按内部的另一个对象值对对象进行排序

  16. 16

    按类对对象排序,然后使用d3命名

  17. 17

    按另一个数组对对象的数组列表进行排序

  18. 18

    按另一个数组对对象数组进行排序

  19. 19

    如何基于数组和另一个对象创建一个新对象?

  20. 20

    一个HTML文档中的多个d3可视化

  21. 21

    在d3中从v3转换为v5不会更新可视化效果,但会添加另一个可视化效果

  22. 22

    Javascript按另一个数组对对象进行排序

  23. 23

    根据D3中的属性值对对象进行排序

  24. 24

    基于多个属性d3选择数据

  25. 25

    D3:基于svg元素更改数据

  26. 26

    d3中基于日期的JSON解析

  27. 27

    D3 - 基于 JSON 数据附加 SVG

  28. 28

    Mockito:基于另一个对象的Mock对象

  29. 29

    基于另一个对象键的Javascript对象排序

热门标签

归档