ฉันจะไม่พูดเรื่องไร้สาระมากวิธีการเฉพาะมีดังนี้:
วิธีที่ 1: กลับไปที่อาร์เรย์ใหม่และแต่ละชนิดย่อยของบิตไม่เปลี่ยนแปลง
ฟังก์ชั่น oundrepeat (a) {var hash = [], arr = []; สำหรับ (var i = 0; i <a.length; i ++) {hash [a [i]]! = null; ถ้า (! hash [a [i]]) {arr.push (a [i]); แฮช [a [i]] = true; }} console.log (arr); } Outrepeat ([2,4,4,5, "A", "A"]); // [2, 4, 5, "A"วิธีที่ 2: คล้ายกับวิธีที่ 1 แต่การเกษตรนี้คิดว่าวิธีการที่ 1 นั้นง่ายต่อการเข้าใจ
ฟังก์ชั่น oundrepeat (a) {var hash = [], arr = []; สำหรับ (var i = 0, elem; (elem = a [i])! = null; i ++) {ถ้า (! hash [elem]) {arr.push (elem); แฮช [elem] = true; }} console.log (arr); } Outrepeat ([2,4,4,5, "A", "A"]); // [2, 4, 5, "A"วิธีที่ 3: มันเข้าใจง่ายกว่าสองครั้งแรก แต่ประเภทจำนวนของแต่ละบิตของอาร์เรย์ใหม่ที่ส่งคืนได้กลายเป็นประเภทสตริง! - ต้องได้รับการจัดการในช่วงเวลาวิกฤต
ฟังก์ชั่น oundrepeat (a) {var hash = [], arr = []; สำหรับ (var i = 0; i <a.length; i ++) {hash [a [i]] = null; } สำหรับ (คีย์ var ในแฮช) {arr.push (คีย์); } console.log (arr); } Outrepeat ([2,4,4,5, "a", "a"]); // ["2", "4", "5", "A"ข้างต้นมีสามวิธีในการลบการทำซ้ำใน JavaScript ว่าตัวแก้ไขแนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ!