我有一个多维数组,我想对其中一列进行排序。如何在数组或字符串中测试数组列中的单元格
我发现这个方法在另一个问题,只要你知道单元格值的类型(只有数字),它工作正常。
var arr = [
[12, 'AAA', '3ab'],
[12, 'BBB', '5ac'],
[12, 'CCC', '9tt'],
[28, 'DDD', 'cpo'],
[18, 'CCC', 'ert'],
[12, 'DDD', 'jet'],
[18, 'CCC', 'o55'],
[28, 'DDD', 'y65'],
[28, 'DDD', '549'],
[58, 'BBB', '772'],
[68, 'BBB', '999'],
[78, 'BBB', '3p5']
];
arr.sort(function(a,b) {
return a[0]-b[0]
});
- 我想要做的是在排序之前测试数字或字符串的单元格值。 - 这是怎么做的?
我想我需要提供一些更多的信息 - 对于我笨拙的解释抱歉。
1)我想每次只排列其中一列。
2) *排序前我想测试如果特定列的内容是数字或字符串,因为排序是不同的做法 -
一个[0] -b [0]
VS
一个[0] LT b [0](LT =小于)
最简单的方法将正确地是说,在列中的所有细胞被定义为一个字符串,然后测试查看如果都用数字代替。*
3)如果他们都是数字我会使用一个[0] -b [0]分拣A [0]
希望,而不是这解释了它比以前好。
'变种isString =函数(VAL){返回的typeof VAL == “串”; var isNumber = function(val){return!isNaN(val);} var isNumber = function(val) }' 你可以利用这两个函数 – benhowdle89 2014-10-22 11:07:07
@ benhowdle89:'isNaN'不检查一个值是否是数字。它检查一个值是否为'NaN'。 – Cerbrus 2014-10-22 11:09:48
@ benhowdle89您应该使用'typeof“数字”'代替。 – 2014-10-22 11:10:43