我在解析.csv文件并将其转换为jQuery数组之后!现在我想对列表进行排序,以便我可以按ID号(数组中的值)的顺序读取其值。 这是我的阵列:
$.ajax({
url: "path/to/file.csv",
success: function(data) {
var array1 = data.split("\n");
var array2 = new Array();
for (var i = 0; i < array1.length; i++) {
array2.push(array1[i].split(","));
...
}
数组采用以下格式:
[0] = ID, TITLE, NUMBER
[1] = 1, Name1, 0 << ie: [1][0], [1][1], [1][2]
[2] = 2, Name2, 14
[3] = 3, Name3, 25
[4] = 4, Name4, 66
[5] = 5, Name5, 87
[6] =
为了忽略第一行(标题)和最后一行(空行),我使用:
if($.isNumeric(array2[i][0])){
//do something
}
else {
//do nothing
}
如果根据需要使用数据,则为其余部分。但是,有时文件不是有序的。我想首先选择ID为'1',ID为'2'的行,依此类推......
[0] = ID, TITLE, NUMBER
[1] = 5, Name5, 87 << ie: [1][0], [1][1], [1][2]
[2] = 2, Name2, 14
[3] = 4, Name4, 66
[4] = 3, Name3, 25
[5] = 1, Name1, 0
[6] =
有没有办法可以对数组列表进行排序?或者我是否需要阅读数据以查看每次都有什么? (即遍历列表以找出我的下一个ID所在的行)
答案 0 :(得分:1)
jQuery具有排序功能
var myArray = [ 3, 4, 6, 1 ];
myArray.sort(); // 1, 3, 4, 6
您可以在此处查看更多示例
http://learn.jquery.com/javascript-101/arrays/
但我不能告诉你它是否在你发布的格式的数组中工作。这应该只是一个提示,而不是解决方案
答案 1 :(得分:1)
您是否看过内置的排序功能?您可以提供自定义比较器。
var array = [[30, 'test'], [2, 'okay'], [4, 'yeah']];
array.sort(function(a,b) {return a[0] - b[0]});
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
答案 2 :(得分:1)
您可以使用自定义排序......
array2.sort(function(a, b) {
return a[2] - b[2];
});
答案 3 :(得分:0)