ปัญหาหลักในการจัดเรียงอาร์เรย์แบบสุ่มคืออาจใช้เวลานานมาก
arrays sorting random I have an array of objects that I need to randomly sort. The objects have a property called "order" that is a number. I need to sort the array so that the order property is in random order, but the other properties of each object stay in place. How can I do this? A: You can use <code>sort</code> with a function that returns a random value: <code>const arr = [ { id: 1, name: 'foo' }, { id: 2, name: 'bar' }, ]; arr.sort(() => Math.random() - 0.5); console.log(arr);</code>
อาร์เรย์และฟังก์ชันการเรียงลำดับ
อาร์เรย์คือชุดของข้อมูลที่สามารถเข้าถึงได้โดยใช้หมายเลขดัชนี องค์ประกอบแรกในอาร์เรย์อยู่ที่ดัชนี 0 องค์ประกอบที่สองอยู่ที่ดัชนี 1 เป็นต้น ในการเข้าถึงองค์ประกอบที่สามในอาร์เรย์ คุณจะต้องใช้หมายเลขดัชนี 3
ในการจัดเรียงอาร์เรย์ คุณสามารถใช้ฟังก์ชันการเรียงลำดับ ฟังก์ชันการเรียงลำดับใช้สองอาร์กิวเมนต์: ฟังก์ชันอาร์เรย์และการเปรียบเทียบ ฟังก์ชันการเปรียบเทียบจะเปรียบเทียบสององค์ประกอบในอาร์เรย์และส่งกลับค่าบูลีน หากฟังก์ชันการเปรียบเทียบส่งคืนค่าจริง องค์ประกอบที่ตำแหน่ง x ในอาร์เรย์จะถูกวางไว้ก่อนองค์ประกอบที่ตำแหน่ง y ใน thearray หากฟังก์ชันการเปรียบเทียบส่งคืนค่าเท็จ องค์ประกอบที่ตำแหน่ง x ในเธียร์เรย์จะถูกวางไว้หลังองค์ประกอบที่ตำแหน่ง y ในเธียร์เรย์
ต่อไปนี้คือตัวอย่างวิธีใช้ฟังก์ชันการเรียงลำดับเพื่อจัดเรียงอาร์เรย์ของตัวเลข:
ตัวเลข var = [1, 2, 3, 4]; // เรียงลำดับตัวเลขโดยใช้ฟังก์ชันเปรียบเทียบ var sortedNumbers = ตัวเลข .sort(function(a, b) { return a – b; }); // พิมพ์คอนโซล sortedNumbers .log (sortedNumbers);
อาร์เรย์แบบสุ่ม
อาร์เรย์คือชุดของข้อมูลที่สามารถเข้าถึงได้โดยใช้หมายเลขดัชนี ใน JavaScript อาร์เรย์ถูกสร้างขึ้นโดยใช้ตัวสร้างอาร์เรย์
หากต้องการสร้างอาร์เรย์ว่าง ให้ใช้ตัวสร้าง Array() ดังนี้
var myArray = อาร์เรย์ใหม่ ();
หากต้องการสร้างอาร์เรย์ที่มีองค์ประกอบ XNUMX รายการ ให้ใช้โค้ดต่อไปนี้
var myArray = อาร์เรย์ใหม่ (5);
myArray[0] = “จาวาสคริปต์”; myArray[1] = “อาร์เรย์”; myArray[2] = “ฟังก์ชัน”; myArray[3] = “สตริง”; myArray[4] = “บูลีน”; myArray[5] = “ตัวเลข”;