按照第一次出现的顺序对数组项进行分组

时间:2017-07-03 14:10:25

标签: javascript arrays sorting

我需要按照第一次出现的顺序对数组中的项进行排序,换句话说就是“将它们组合在一起”:

var a = [510, 510, 402, 402, 510, 64, 510, 73, 73, ...];

输出:

[510, 510, 510, 510, 402, 64, 73, 73, ...]

请记住数字出现的顺序很重要,因为分组数组的顺序必须与第一个数组上弹出数字的顺序相匹配。例如,64发生在73之前,同样的顺序应该应用在最终输出中。

如何处理?

2 个答案:

答案 0 :(得分:0)

请参阅说明以获取解释



    <label for="form_one_submit">Button one</label>
    <form action="" id="form_one">
      <span></span>
      <input type="submit" id="form_one_submit" style="visibility:hidden;">
    </form>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

一种稍微简单的方法:

var list = [510, 510, 402, 402, 510, 64, 510, 73, 73];
var sorted = list.sort(function(a, b) {
  return list.indexOf(a) - list.indexOf(b);
});
console.log(sorted);