คำนำ
โดยทั่วไปเราอาจหักล้างอาร์เรย์ การดำเนินการนี้ไม่ซับซ้อนเพียงแค่ดำเนินการลูป ตอนนี้สิ่งที่ฉันต้องการทำคือการพิจารณาว่ามีเนื้อหาซ้ำในอาร์เรย์หรือไม่ ถ้าเป็นเช่นนั้นให้กลับมาเป็นจริง มิฉะนั้นให้ส่งคืนเท็จ
ความคิด
เปลี่ยนอาร์เรย์เป็นสตริง
ลูปอาร์เรย์ดั้งเดิมเปรียบเทียบแต่ละฟิลด์กับสตริงนี้เพื่อดูว่ามีการทำซ้ำหรือไม่
วิธีการเปรียบเทียบสตริงกับสตริง B และ B และขอให้กำหนดว่าสตริง B มีสตริง?
วิธีการ: indexof () และวิธีการเปรียบเทียบ LastIndexof ()
ก่อนอื่นเราสร้างรหัส:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
ดังที่ได้กล่าวไว้ข้างต้นเราจำเป็นต้องใช้ฟังก์ชั่นการตรวจสอบ arrrepeat (arr) และดำเนินการ มาสร้างฟังก์ชั่นนี้ด้านล่าง
ฟังก์ชั่น arrrepeat (arr) {var arrstr = json.stringify (arr), str; สำหรับ (var i = 0; i <arr.length; i ++) {ถ้า (arrstr.indexof (arr [i])!ตกลงการวิ่งก็ประสบความสำเร็จ
หลักการนั้นง่ายมากโดยเฉพาะอย่างยิ่งนั่นคือไม่ว่าจะเป็นตำแหน่งที่เกิดขึ้นครั้งแรกและตำแหน่งที่เกิดขึ้นครั้งสุดท้ายของฟิลด์ในอาเรย์นั้นสอดคล้องกันในสตริงที่ถูกแปลงจากอาร์เรย์ หากไม่สอดคล้องกันก็หมายความว่าการเรียกซ้ำนี้จะปรากฏขึ้น
วิธีการที่ 2 การจับคู่ () วิธีการเปรียบเทียบปกติ
ก่อนอื่นเราสร้างรหัส:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
จากนั้นเราสร้างฟังก์ชัน arrrepeat (arr) ใหม่
ฟังก์ชั่น arrrepeat (arr) {var arrstr = json.stringify (arr), str; สำหรับ (var i = 0; i <arr.length; i ++) {ถ้า ((arrstr.match (ใหม่ regexp (arr [i], "g").หลักการคือการค้นหาจำนวนการทำซ้ำที่กำหนด ถ้ามากกว่า 1 มันจะถูกทำซ้ำอย่างแน่นอน โปรดทราบว่าสิ่งนี้สามารถค้นหาได้อย่างถูกต้องกี่ครั้งที่ปรากฏ! ดังนั้นวิธีนี้จึงมีจุดประสงค์ที่กว้างขึ้น
ตกลงการวิ่งประสบความสำเร็จอีกครั้ง
สรุป
หากคุณเพียงแค่เปรียบเทียบวิธีแรกมันก็เพียงพอแล้ว
วิธีที่สองสามารถค้นหาจำนวนครั้งที่ปรากฏจริงได้ ตัวอย่างเช่นหากคุณทำซ้ำ 4 ครั้งคุณสามารถค้นหา 4 คิดเกี่ยวกับวัตถุประสงค์เฉพาะด้วยตัวเอง
วิธีการสร้างวิธีปกติที่มีตัวแปรใหม่ regexp (arr [i], "g") ถูกถามโดยผู้อื่น
ที่จริงแล้วสิ่งที่ฉันคิดเป็นครั้งแรกคือความคิดที่สอง ปัญหาปกติมีปัญหาเป็นเวลานานและในที่สุดก็แก้ไขได้ ตอนนั้นฉันก็นึกถึงความคิดแรก
ข้างต้นเป็นสองวิธี (แนะนำ) สำหรับการตัดสินเนื้อหาที่ซ้ำกันใน JavaScript แนะนำให้คุณทราบโดยบรรณาธิการ (แนะนำ) ฉันหวังว่ามันจะช่วยคุณได้!