Rumah  >  Soal Jawab  >  teks badan

Masalah pengisihan tatasusunan dua dimensi JavaScript

[['10','8'],['11','4'],['18','7'],['7','6'],['8','7'],['9','5']]

JavaScript Bagaimana untuk membuat tatasusunan seperti ini
[['7','6'],['8','7'],['9','5'],['10','8'] , ['11','4'],['18','7']]
disusun dalam susunan ini

Allah yang Maha Besar

仅有的幸福仅有的幸福2686 hari yang lalu718

membalas semua(4)saya akan balas

  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:29:27

    array = [['10','8'],['11','4'],['18','7'],['7','6'],['8',' 7'],['9','5']]
    fungsi sortNumber(a,b){kembali a[0]-b[0]}
    biar newArray = array.sort(sortNumber)

    newArray sepatutnya menjadi hasil yang anda mahukan

    balas
    0
  • 代言

    代言2017-06-12 09:29:27

    var arr = [['10','8'],['11','4'],['18','7'],['7','6'],['8','7'],['9','5']]
    arr.sort(function(a, b) {
        return a[0]-b[0]
    })

    balas
    0
  • PHP中文网

    PHP中文网2017-06-12 09:29:27

    Hasil susunan tatasusunan dua dimensi anda nampaknya dibandingkan dengan elemen yang dilanggan pertama dalam setiap elemen dalam tatasusunan (tatasusunan). Tatasusunan satu dimensi diisih, dan kemudian tatasusunan dua dimensi asal diisih menggunakan indeks untuk sepadan dengan tatasusunan satu dimensi sebelumnya.
    Idea pelaksanaan logik:
    var twoArray = [['10','8'],['11','4'],['18','7'],['7','6'], ['8','7'],['9','5']];

        var oneArray = [];
        twoArray.map(function (item ,index) {
            oneArray.push({value: item[0], index: index});
        });
        console.log(oneArray);
        function sortNumber (a, b) {
            return a.value - b.value;
        }
        console.log(oneArray.sort(sortNumber));
        // 此时的oneArray已排好序
        var newTwoArray = [];
        oneArray.map(function (item) {
            newTwoArray.push(twoArray[item.index]);
        });
        console.log(newTwoArray);// 即你要的排序

    balas
    0
  • 黄舟

    黄舟2017-06-12 09:29:27

    var groupNum = 3;
    
    var arr1 = [['10','8'],['11','4'],['18','7'],['7','6'],['8','7'],['9','5']];
    
    var arr2 = [];
    
    for (var i = arr1.length; i > 0 ; i -= groupNum) {
      arr2.push(arr1.slice(i - groupNum, i));
    }
    
    console.log(arr2) // [['7','6'],['8','7'],['9','5'],['10','8'],['11','4'],['18','7']]

    balas
    0
  • Batalbalas