Andaikan kita mempunyai susunan nombor seperti ini -
const arr = [1, 6, 3, 1, 3, 1, 6, 3];
Kita perlu menulis fungsi JavaScript yang menerima tatasusunan seperti ini sebagai The parameter pertama dan satu-satunya. Fungsi itu kemudiannya harus mencari semua nombor sedemikian yang berlaku bilangan kali ganjil (tidak termasuk sekali sahaja) dalam tatasusunan.
Dalam tatasusunan di atas, nombor 1 dan 3 kedua-duanya muncul 3 kali (nombor ganjil), jadi fungsi kita harus mengalih keluar yang ketiga daripada dua nombor ini muncul.
Susun atur keluaran sepatutnya kelihatan seperti ini -
const output = [1, 6, 3, 1, 3, 6];
Kami akan menyediakan peta cincang untuk menjejaki bilangan kejadian setiap nombor dan akhirnya kami akan mengulangi peta untuk mengalih keluar terakhir Berlaku bilangan kali ganjil.
Setiap kekunci dalam peta akan memegang nilai tatasusunan di mana elemen pertama ialah bilangan kejadian elemen tersebut dan elemen kedua ialah indeks kejadian terakhir elemen tersebut.
Kodnya ialah-
Demonstrasi langsung
const arr = [1, 6, 3, 1, 3, 1, 6, 3]; const removeOddOccurence = (arr =[]) => { // keeping the original array unaltered const copy = arr.slice(); const map = {}; arr.forEach((num, ind) => { if(map.hasOwnProperty(num)){ map[num][0]++; map[num][1] = ind; }else{ map[num] = [1, ind]; }; }); for(const key in map){ const [freq, index] = map[key]; if(freq !== 1 && freq % 2 === 1){ copy.splice(index, 1, ''); }; }; return copy.filter(el => el !== ''); }; console.log(removeOddOccurence(arr));
[1, 6, 3, 1, 3, 6]
Atas ialah kandungan terperinci Alih keluar kejadian ganjil mana-mana nombor/elemen daripada tatasusunan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!