1

.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 がどの行にあるかを調べます)

4

4 に答える 4

1

そのようなカスタムソートを使用できます...

array2.sort(function(a, b) {
    return a[2] - b[2];
});
于 2013-10-02T14:52:30.730 に答える
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

于 2013-10-02T14:51:47.173 に答える
1

jQueryにはソート機能があります

var myArray = [ 3, 4, 6, 1 ];

myArray.sort(); // 1, 3, 4, 6

その他の例については、こちらをご覧ください

http://learn.jquery.com/javascript-101/arrays/

しかし、投稿した形式の配列で機能するかどうかはわかりません。これは単なるヒントであり、解決策ではありません

于 2013-10-02T14:45:40.343 に答える
0

.sort 機能を使用できます

array1.sort(function(a,b){
    return a[0] - b[0];
});

デモ

于 2013-10-02T14:50:22.420 に答える