0

我有一个这样的数组:

 [[ 'Table', 'Column A', 'Column B', 'Column C'],
  [ 'Row 1', 10, 5, 7 ],
  [ 'Row 2', 20, 15, 50 ],
  [ 'Row 3', 8, 13, 3 ]]

我想对列进行排序,因此首先显示“最重要”列,方法是对“第 1 行”中的数据进行排序。结果:

 [[ 'Table', 'Column A', 'Column C', 'Column B'],
 [ 'Row 1', 10, 7, 5 ],
 [ 'Row 2', 20, 50, 12 ],
 [ 'Row 3', 8, 3, 13 ]]

注意 C 列和 B 列是如何改变位置的。

我怎样才能在 JavaScript 中做到这一点

4

1 回答 1

1

做这个 :

var test = [[ 'Table', 'Column A', 'Column C', 'Column B'],
         [ 'Row 1', 10, 7, 5 ],
         [ 'Row 2', 20, 50, 12 ],
         [ 'Row 3', 8, 3, 13 ]];


function arrayColReorder(array, col1, col2) {
    for (var i=0;i<array.length;i++) {
        var temp=array[i][col1];
        array[i][col1]=array[i][col2];
        array[i][col2]=temp;
    }
    return array;
}

var sorted = arrayColReorder(test, 2, 3);

console.log(sorted);

在此处输入图像描述

于 2013-09-27T11:07:56.330 回答