อาร์เรย์ซ้ำซ้อนเป็นข้อกำหนดทั่วไปและเราพิจารณาอาร์เรย์ประเภทเดียวกันเพื่อการซ้ำซ้อน สิ่งสำคัญคือการชี้แจงความคิดและพิจารณาประสิทธิภาพ วิธีการต่อไปนี้มีให้บริการออนไลน์และฉันจะสรุปสั้น ๆ ที่นี่
แนวคิด:
1. วนซ้ำผ่านอาร์เรย์เปรียบเทียบทีละตัวและลบสิ่งต่อไปนี้หลังจากการเปรียบเทียบกับอันเดียวกัน
2. วนซ้ำอาร์เรย์เปรียบเทียบทีละคนเปรียบเทียบกับอันเดียวกันข้ามสิ่งที่ทำซ้ำก่อนหน้านี้และใส่ลงในอาร์เรย์ใหม่หากพวกเขาแตกต่างกัน
3. นำองค์ประกอบอาร์เรย์ใด ๆ ลงในอาร์เรย์ใหม่สำรวจองค์ประกอบอาร์เรย์ที่เหลือใด ๆ เปรียบเทียบกับองค์ประกอบของอาร์เรย์ใหม่ทีละตัว หากมีความแตกต่างให้ใส่ลงในอาร์เรย์ใหม่
4. วนซ้ำอาร์เรย์ใช้องค์ประกอบเป็นแอตทริบิวต์ของวัตถุและพิจารณาว่ามีแอตทริบิวต์อยู่หรือไม่
1. ลบรายการซ้ำหลังจากนั้น:
ฟังก์ชั่น OV1 (arr) {// var a1 = ((วันที่ใหม่) .getTime ()) สำหรับ (var i = 0; i <arr.length; i ++) สำหรับ (var j = i+1; j <arr.length; j ++) ถ้า (arr [i] === arr [j]) วันที่) .getTime ()-a1) return arr.sort (ฟังก์ชั่น (a, b) {return ab});}2. นี่เป็นวิธีการทั่วไปซึ่งง่ายต่อการเข้าใจ ถ้าเหมือนกันลูปจะแตกออก
ฟังก์ชั่น OV2 (a) {// var a1 = ((วันที่ใหม่) .getTime ()) var b = [], n = a.length, i, j; สำหรับ (i = 0; i <n; i ++) {สำหรับ (j = i+1; j <n; j ++) ถ้า (a [i] === a [j]) {j = false; break;} ถ้า (j) b.push (a [i]); } //console.info(( วันที่ใหม่) .getTime ()-a1) ส่งคืน b.sort (ฟังก์ชั่น (a, b) {return ab});}3. ฉันใช้เวลานานกว่าจะเข้าใจสิ่งนี้ แม้ว่า J Loop จะดำเนินต่อไปที่นี่ แต่ค่า I ได้เปลี่ยนไป เทียบเท่ากับฉันวนใหม่:
ฟังก์ชั่น ov3 (a) {// var a1 = ((วันที่ใหม่) .getTime ()) var b = [], n = A.Length, i, j; สำหรับ (i = 0; i <n; i ++) {สำหรับ (j = i+1; j <n; j ++) ถ้า (a [i] === a [j]) j = ++ i b.push (a [i]);} //console.info(4. ตรวจสอบให้แน่ใจว่าอาร์เรย์ใหม่ทั้งหมดไม่ซ้ำกัน
ฟังก์ชั่น OV4 (AR) {// var a1 = ((วันที่ใหม่) .getTime ()) var m = [], f; สำหรับ (var i = 0; i <ar.length; i ++) {f = true; สำหรับ (var j = 0; j <m.length; j ++) ถ้า (ar [i] === m [j]) {f = false; break;}; if (f) m.push (ar [i])} // console.info ((วันที่ใหม่) .getTime ()-a1) ส่งคืน m.sort (ฟังก์ชั่น (a, b) {return ab});}5. ใช้คุณสมบัติวัตถุ
ฟังก์ชั่น ov5 (ar) {// var a1 = (วันที่ใหม่) .getTime () var m, n = [], o = {}; สำหรับ (var i = 0; (m = ar [i])! == undefined; i ++) ถ้า (! o [m]) {n.push (m); n.sort (ฟังก์ชั่น (a, b) {return ab}) ;;}คำแนะนำข้างต้นสำหรับการลบค่าที่ซ้ำกันในอาร์เรย์ JavaScript เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น