Semasa saya sedang mengerjakan fungsi pilihan soalan, saya menghadapi masalah gabungan ini. Terdapat soalan pilihan tunggal dan pilihan tunggal tiada masalah untuk setiap soalan pelbagai pilihan. Keputusan pemilihan adalah seperti gambar di bawah:
Saya perlu menggabungkan data soalan aneka pilihan yang sama menjadi satu, iaitu objek dalam bahagian pemilihan kotak biru dalam gambar digabungkan menjadi satu, pilihan menjadi "cubit, picit", dan ID lain diabaikan . Adakah terdapat cara mudah untuk mencapai ini. Berlutut dan terima kasih!
Idea asas ialah merentasi data dahulu, menyimpan soalan soalan yang sama seperti tatasusunan, kemudian melintasi tatasusunan yang berurusan dengan soalan yang sama, dan sambungkan jawapan bersama-sama.
Contoh:
Data:
//Kategori soalan yang sama
Isi soalan daripada jenis yang sama, dan masukkan semua soalan berikut ke dalam soalan pertama.
dan simpan semula dalam format asal
Kemas kini
Setelah membaca jawapan di tingkat 2, sebenarnya proses sebelum ini boleh dipermudahkan, tetapi seperti kata tingkat 3, ia tidak ada kena mengena dengan peta ES6. Saya menggunakan
forEach
ES5. Daripada menggunakan ES5, gunakan sahaja ES3 Tidak ada masalah sama sekali jika anda menggantikannya dengan gelung normal. Menggunakan peta agak rumit.forEach
。不用ES5,只用ES3,换成普通for循环完全没有问题的。使用map反而负复杂了。由于不需要分类的题目数据,所以可以直接拼接答案,不用先归类了,实现如下:
这样出来的
Oleh kerana tidak perlu mengklasifikasikan data soalan, jawapan boleh disambung terus tanpa mengklasifikasikannya terlebih dahulu rrreeedata2
data2
yang keluar adalah dalam bentuk objek Jika anda memerlukan tatasusunan, proses sahaja. Saya masih perlu bersetuju dengan perkara di tingkat tiga. Walaupun ia adalah soalan berbilang pilihan, data asal tidak seharusnya disusun mengikut cara yang anda senaraikan.Menyediakan idea yang menyeronokkan yang boleh dilaksanakan, tetapi mungkin tidak boleh digunakan untuk senario sebenar
Tentukan objek kosong, gelung melalui tatasusunan, dan kemudian atribut objek kosong dinamakan tajuk dan nilai yang sepadan ialah tajuk; nilai ialah tatasusunan, dan pilihan Tolak masuk. Sudah tentu, ini juga mungkin melibatkan isu penyingkiran pendua dalam setiap soalan Hasil akhir mungkin serupa dengan ini
Jika anda boleh menggunakan es6, saya syorkan Map
Kaedah di tingkat 1 boleh menyelesaikan masalah ini
.Peta di tingkat 2 tidak perlu es6
Tingkat 3 enggan menjawab soalan ini kerana dia merasakan kaedah pelaksanaan ini tidak betul