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

จะค้นหาองค์ประกอบทั่วไประหว่างสองอาร์เรย์ขึ้นไปใน JavaScript ได้อย่างไร


หากมีเพียงสองอาร์เรย์โดยใช้วิธีการเชิงตรรกะ ก็เป็นไปได้ที่จะพบองค์ประกอบทั่วไป แต่ถ้ามีอาร์เรย์มากกว่านั้น ก็ยากที่จะหาองค์ประกอบทั่วไป เพื่อให้ขั้นตอนง่ายที่สุด _.intersection() วิธีการเข้ามาในภาพ เป็นฟังก์ชันใน underscore.js กรอบงาน ไลบรารีของจาวาสคริปต์

_.ทางแยก() method จะตรวจสอบแต่ละองค์ประกอบของอาร์เรย์ทั้งหมดและแสดงค่าทั่วไป หากอย่างน้อยหนึ่งอาร์เรย์ในกลุ่มอาร์เรย์ไม่มีค่าร่วมกันแม้แต่ค่าเดียว ก็จะไม่แสดงเอาต์พุต

ไวยากรณ์

_.intersection( array1, array2, .... );

ยอมรับอาร์เรย์และพยายามหาค่าทั่วไปและแสดงเป็นเอาต์พุต

ตัวอย่าง

ในตัวอย่างต่อไปนี้ _.intersection() วิธีการกลั่นกรองแต่ละค่าของอาร์เรย์ที่ให้มาและแสดงค่าทั่วไปเป็นเอาต์พุต

<html>
<body>
<script
   src ="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<script type="text/javascript">
   document.write(_.intersection([1, 2, 3, 4, 5],
                                 [1, 2, 3, 4, 5, 6],
                                 [1, 2, 3, 4, 5, 6, 7, 8,]));
</script>
</body>
</html>

ผลลัพธ์

1,2,3,4,5

เมธอดนี้ไม่เพียงแต่รับตัวเลขหรือสตริงเป็นอินพุต แต่ยังยอมรับ เท็จ ค่าต่างๆ เช่น โมฆะ โมฆะ ฯลฯ เป็นอินพุต

ตัวอย่าง

ในตัวอย่างต่อไปนี้ ไม่เพียงแต่ตัวเลขแต่ยัง เท็จ ค่าผ่าน _.underscore() วิธีการกลั่นกรองทุกค่ารวมทั้ง เท็จ ค่าที่แสดงค่าทั่วไป

<html>
<body>
<script
   src ="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
</script>
</head>
<body>
<script type="text/javascript">
   document.write(_.intersection([1, 2, 3, "null", "undefined"],
                                [1, 2, 3, "null", "undefined", "void"],
                                 [1, "null","void"]));
</script>
</body>
</html>

ผลลัพธ์

1,null