يعد إلغاء التماثيل المكررة مطلبًا شائعًا ، ونحن نفكر مؤقتًا في صفائف من نفس النوع إلى إلغاء البيانات. الشيء الرئيسي هو توضيح الأفكار والنظر في الأداء. الأساليب التالية متاحة بشكل أساسي عبر الإنترنت ، وسألخصها باختصار هنا.
الأفكار:
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 ++) if (arr [i] === arr [j]) {arr.splice (j ، 1) ؛ التاريخ) .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 ++) {for (j = i+1 ؛ j <n ؛ j ++) if (a [i] === a [j]) {j = false ؛ break ؛} if (j) b.push (a [i]) ؛ } //console.info( موعد) .getTime ()-A1) إرجاع B.Sort (دالة (A ، B) {return ab}) ؛}3. استغرق الأمر مني وقتًا طويلاً لفهم هذا. على الرغم من أن حلقة J تستمر هنا ، إلا أن القيمة I قد تغيرت. إنها تعادل حلقة جديدة:
دالة OV3 (a) {// var a1 = (تاريخ جديد) .getTime ()) var b = [] ، n = A.Length ، i ، j ؛ لـ (i = 0 ؛ i <n ؛ i ++) {for (j = i+1 ؛ j <n ؛ j ++) if (a [i] === a [j])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 ++) if (ar [i] === m [j]) {f = false ؛ break ؛} ؛ if (f) M.Push (ar [i])} // console.info ((تاريخ جديد) .getTime ()-a1)5. استخدم خصائص الكائن
الوظيفة OV5 (ar) {// var a1 = (تاريخ جديد) .getTime () var m ، n = [] ، o = {} ؛ for (var i = 0 ؛ N.Sort (وظيفة (A ، B) {return ab}) ؛؛}التوصيات المذكورة أعلاه لإزالة القيم المكررة في صفائف JavaScript هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.