sort - javascript secara manual menentukan susunan tatasusunan objek
淡淡烟草味
淡淡烟草味 2017-06-28 09:27:54
0
2
624

Saya mempunyai tatasusunan objek Saya mahu ia disusun mengikut susunan yang saya nyatakan Seperti berikut, ia disusun mengikut susunan nama yang saya nyatakan sebarang lodash atau kaedah lain? Bolehkah pakej terkenal daripada tiga pihak mencapai kesan berikut, atau adakah cara lain yang lebih cekap dan mudah untuk menulisnya?

var arr = [ { name:'小麦', phone:'112233' }, { name:'绿绿', phone:'4445566' }, { name:'增增', phone:'321321' }, { name:'弱弱', phone:'123123' } ]; //希望达到的顺序 (我已知所有元素) var order = { '增增':0, '弱弱':1, '绿绿':2, '小麦':3 }; var newOrderedArr = []; arr.forEach((element)=>{ newOrderedArr[order[element.name]] = element; }); console.log(newOrderedArr);

Hasil konsol adalah seperti berikut

[ { name: '增增', phone: '321321' }, { name: '弱弱', phone: '123123' }, { name: '绿绿', phone: '4445566' }, { name: '小麦', phone: '112233' } ]
淡淡烟草味
淡淡烟草味

membalas semua (2)
黄舟

Jikaorders里面是按0 ~ nmempunyai nilai berterusan, maka kaedah anda sudah sangat, sangat pantas, dan kaedah perpustakaan lain tidak dapat mencapai kelajuan ini (kerana mereka akan mempertimbangkan situasi tidak berterusan)

Jika tidak berterusan, anda boleh menggunakan sort

newOrderedArr = arr.sort((a, b) => order[a.name] - order[b.name]);

Atau anda boleh menggunakan kaedah anda dan menambah penapis

newOrderedArr = newOrderedArr.filter(n => n);

Tambahan: Untuk kes nombor siri tidak berturut-turut, perbandingan tanpa pengisihan adalah seperti yang ditunjukkan dalam rajah

    漂亮男人

    Idea ini nampaknya sangat pantas. Dari perspektif kemudahan penggunaan, indeks pesanan boleh dijana supaya tatasusunan nama boleh dimasukkan setiap kali.

    Tetapi tidak jika ada nama pendua. Anda perlu mengekalkan rekod tatasusunan untuk setiap nama dan akhirnya menggabungkannya

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!