在两列上对传入数据进行排序

时间:2019-07-02 12:07:35

标签: javascript css sorting html-framework-7

我正在开发一个framework7应用程序,该应用程序可以打印出带有ID的结帐单。 (下面的示例)。如果我通过执行Barcodes.sort()来对条形码进行排序,那么我希望能够从第1列进行排序并继续在第2列。(请参见下文)

当前排序:

<event name>
<Badge name>

1001    1002
1003    1004
1005    1006

我要这样排序。

1001    1004
1002    1005
1003    1006

现在我有一个对数据进行排序但处于“当前排序”状态的barcodes.sort()。

有人知道如何创建这种排序时间吗?

1 个答案:

答案 0 :(得分:0)

尝试一下:

var barCodes = [
  1001, 1002,
  1003, 1004,
  1005, 1006
];

barCodes.sort();

var first = barCodes.slice(0, (barCodes.length + 1) / 2);
var second = barCodes.slice(((barCodes.length + 1) / 2), barCodes.length);

var result = [];

for (var i = 0; i < barCodes.length; i++) {
  if (i % 2 === 0) {
    result.push(first[i / 2]);
  } else {
    result.push(second[parseInt(i / 2)]);
  }
}

console.log(result);