根据另一个数组的Javascript自定义排序算法

shajin

我有这两个数组

var refArray = ['India','Pakistan','Nepal','Bhutan','SreeLanka','Singapore','Thailand','China','Russia']
var beenThere = ['Russia','Bhutan','India']

beenThere为了显示目的,我需要按refArray的顺序进行排序,因此,如果我对sort进行排序beenThere,结果应该是,

['India','Bhutan','Russia']

在哪里可以获得一种算法。

丹达维斯

由于数据是字符串,并且字符串没有逗号,因此可以使用动态RegExp避免所有用户域迭代:

var refArray = ['India','Pakistan','Nepal','Bhutan','SreeLanka','Singapore','Thailand','China','Russia']
var beenThere = ['Russia','Bhutan','India'];


(","+refArray+",").match(RegExp(",("+beenThere.join("|")+"),","g")).join(",").split(/,+/).slice(1,-1); 
// ==  ["India", "Bhutan", "Russia"]

这样做很不错,因为它不需要[] .indexOf(),因此可以在较旧的浏览器中使用。如果数据有逗号,则可以使用除逗号以外的其他分隔符,并带有一些较难看的代码...

或者,使用过滤器进行迭代,但使用本机方法而不是用户界面函数:

var refArray = ['India','Pakistan','Nepal','Bhutan','SreeLanka','Singapore','Thailand','China','Russia']
var beenThere = ['Russia','Bhutan','India'];

refArray.filter(/./.test, RegExp("("+beenThere.join("|")+")","g"));
// == ["India", "Bhutan", "Russia"]

它们的执行速度可能比indexOf()快,但是排序是一个怪异的操作,为幕后优化提供了很多机会,因此结果可能会有所不同。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一个数组的Javascript自定义排序算法

来自分类Dev

根据另一个数组中定义的排序顺序对数组进行排序

来自分类Dev

根据另一个自定义数组对数组中的对象属性进行排序

来自分类Dev

如何根据另一个数组的排序方式对一个数组进行排序?(JavaScript)

来自分类Dev

使用JavaScript根据另一个数组对一个数组进行排序

来自分类Dev

如何根据JavaScript中的另一个数组对数组排序?

来自分类Dev

根据javascript中的另一个数组对数组进行排序

来自分类Dev

Javascript:根据另一个数组对大型多维数组重新排序

来自分类Dev

根据另一个数组的值对一个数组进行排序?

来自分类Dev

根据另一个数组的顺序对一个数组进行排序

来自分类Dev

根据另一个数组的排序顺序对多个数组进行排序

来自分类Dev

根据另一个数组的排序顺序对多个数组进行排序

来自分类Dev

如何根据另一个数组的排序顺序对多个数组进行排序

来自分类Dev

CUDA:使用推力根据另一个数组定义的顺序对数组进行排序

来自分类Dev

根据另一个数组中的排序索引对数组重新排序

来自分类Dev

根据另一个数组的排序顺序对数组进行排序

来自分类Dev

根据另一个数组对一个列表进行排序

来自分类Dev

自定义数组比较或查找使用linq在另一个数组中不存在的值

来自分类Dev

Javascript使用下划线根据另一个数组顺序对数组顺序进行排序

来自分类Dev

根据另一个数组的顺序对数组数组进行排序(Ruby)

来自分类Dev

根据数组键顺序对另一个数组内的数组进行排序

来自分类Dev

根据另一个数组中的顺序对数组数组进行排序

来自分类Dev

根据另一个数组中的数据对一个数组进行排序

来自分类Dev

根据已排序的另一个数组的顺序调整一个数组的顺序

来自分类Dev

如何根据Java中另一个数组的值对一个数组进行排序?

来自分类Dev

使用比较器无法根据另一个数组对一个数组进行排序

来自分类Dev

根据另一个数组按顺序对数组进行排序

来自分类Dev

根据另一个数组对对象数组进行排序

来自分类Dev

PHP:根据另一个数组对数组进行排序

Related 相关文章

  1. 1

    根据另一个数组的Javascript自定义排序算法

  2. 2

    根据另一个数组中定义的排序顺序对数组进行排序

  3. 3

    根据另一个自定义数组对数组中的对象属性进行排序

  4. 4

    如何根据另一个数组的排序方式对一个数组进行排序?(JavaScript)

  5. 5

    使用JavaScript根据另一个数组对一个数组进行排序

  6. 6

    如何根据JavaScript中的另一个数组对数组排序?

  7. 7

    根据javascript中的另一个数组对数组进行排序

  8. 8

    Javascript:根据另一个数组对大型多维数组重新排序

  9. 9

    根据另一个数组的值对一个数组进行排序?

  10. 10

    根据另一个数组的顺序对一个数组进行排序

  11. 11

    根据另一个数组的排序顺序对多个数组进行排序

  12. 12

    根据另一个数组的排序顺序对多个数组进行排序

  13. 13

    如何根据另一个数组的排序顺序对多个数组进行排序

  14. 14

    CUDA:使用推力根据另一个数组定义的顺序对数组进行排序

  15. 15

    根据另一个数组中的排序索引对数组重新排序

  16. 16

    根据另一个数组的排序顺序对数组进行排序

  17. 17

    根据另一个数组对一个列表进行排序

  18. 18

    自定义数组比较或查找使用linq在另一个数组中不存在的值

  19. 19

    Javascript使用下划线根据另一个数组顺序对数组顺序进行排序

  20. 20

    根据另一个数组的顺序对数组数组进行排序(Ruby)

  21. 21

    根据数组键顺序对另一个数组内的数组进行排序

  22. 22

    根据另一个数组中的顺序对数组数组进行排序

  23. 23

    根据另一个数组中的数据对一个数组进行排序

  24. 24

    根据已排序的另一个数组的顺序调整一个数组的顺序

  25. 25

    如何根据Java中另一个数组的值对一个数组进行排序?

  26. 26

    使用比较器无法根据另一个数组对一个数组进行排序

  27. 27

    根据另一个数组按顺序对数组进行排序

  28. 28

    根据另一个数组对对象数组进行排序

  29. 29

    PHP:根据另一个数组对数组进行排序

热门标签

归档