Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การเปลี่ยนอาร์เรย์โดยใช้ splice() JavaScript


เราจำเป็นต้องเขียนฟังก์ชันที่กำหนดให้อาร์เรย์ arr และตัวเลข n ส่งกลับอาร์เรย์ที่มีองค์ประกอบซ้ำกันไม่เกิน n ครั้ง และเราต้องทำทั้งหมดนี้โดยไม่รบกวนดัชนีองค์ประกอบที่ต้องการ เรามาเขียนโค้ดของฟังก์ชันนี้กันดีกว่า

เราจะเก็บการนับองค์ประกอบทั้งหมดใน hashmap และในระหว่างการทำซ้ำเมื่อใดก็ตามที่การนับองค์ประกอบใด ๆ เกินจำนวนสูงสุดเราจะแยกองค์ประกอบนั้น รหัสสำหรับสิ่งนี้จะเป็น -

ตัวอย่าง

const arr =[7, 26, 21, 41, 43, 2, 26, 24, 10, 26, 10, 10, 24, 35, 35,35, 43, 26, 41, 7, 24, 24 , 21, 24, 10, 35, 10, 7, 24, 7, 35, 26, 41,35, 2, 43, 24, 2, 41, 26, 41, 7, 7, 26, 2, 10, 43 , 10, 35, 41, 24, 7,2, 2, 7, 2, 26, 24, 26, 43, 43, 21, 10, 28, 10];const array =[12, 4, 2, 12, 32, 21, 67, 4, 32, 5];const deleteExtra =(arr, n) => { แผนที่ const ={}; for(ให้ i =0; i =n){ arr.splice(i, 1); ฉัน--; }อื่น{ แผนที่[arr[i]]++; } ดำเนินต่อ; }; แผนที่[arr[i]] =1; }};deleteExtra(array, 1);deleteExtra(arr, 2);console.log(array);console.log(arr);

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

<ก่อนหน้า>[ 12, 4, 2, 32, 21, 67, 5][ 7, 26, 21, 41, 43, 2, 26, 24, 10, 10, 24, 35, 35, 43, 41, 7 , 21, 2, 28]