தீர்க்கப்பட்டது: வரிசை ஜாவாஸ்கிரிப்டை எவ்வாறு தோராயமாக வரிசைப்படுத்துவது

ஒரு வரிசையை தோராயமாக வரிசைப்படுத்துவதில் உள்ள முக்கிய பிரச்சனை என்னவென்றால், அது மிகவும் நேரத்தை எடுத்துக்கொள்ளும்.

 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(() =&gt; Math.random() - 0.5);
console.log(arr);</code>



வரிசைகள் மற்றும் வரிசை செயல்பாடுகள்

ஒரு வரிசை என்பது குறியீட்டு எண்ணைப் பயன்படுத்தி அணுகக்கூடிய தரவுகளின் தொகுப்பாகும். வரிசையில் முதல் உறுப்பு குறியீட்டு 0 இல் உள்ளது, இரண்டாவது உறுப்பு குறியீட்டு 1 இல் உள்ளது மற்றும் பல. வரிசையில் மூன்றாவது உறுப்பை அணுக, நீங்கள் குறியீட்டு எண் 3 ஐப் பயன்படுத்த வேண்டும்.

ஒரு வரிசையை வரிசைப்படுத்த, நீங்கள் ஒரு வரிசை செயல்பாட்டைப் பயன்படுத்தலாம். வரிசை செயல்பாடு இரண்டு வாதங்களை எடுக்கும்: ஒரு வரிசை மற்றும் ஒரு ஒப்பீட்டு செயல்பாடு. ஒப்பீட்டு செயல்பாடு அணிவரிசையில் உள்ள இரண்டு கூறுகளை ஒப்பிட்டு ஒரு பூலியன் மதிப்பை வழங்குகிறது. ஒப்பீட்டுச் செயல்பாடு உண்மை எனத் தரப்பட்டால், அணிவரிசையில் x நிலையில் உள்ள உறுப்பு அணிவரிசையில் y நிலையில் உள்ள உறுப்புக்கு முன் வைக்கப்படும். ஒப்பீட்டுச் செயல்பாடு தவறானதாகத் திரும்பினால், x inthearray இல் உள்ள உறுப்பு y inthearray இல் உள்ள உறுப்புக்குப் பின் வைக்கப்படும்.

எண்களின் வரிசையை வரிசைப்படுத்த வரிசை செயல்பாட்டை எவ்வாறு பயன்படுத்துவது என்பதற்கான எடுத்துக்காட்டு இங்கே:

var எண்கள் = [1, 2, 3, 4]; // ஒரு ஒப்பீட்டு செயல்பாட்டைப் பயன்படுத்தி எண்களை வரிசைப்படுத்தவும் var sortedNumbers = எண்கள் .sort(function(a, b) { return a – b; }); // பிரிண்ட் அவுட் வரிசைப்படுத்தப்பட்ட எண்கள் கன்சோல் .log(sortedNumbers);

சீரற்ற வரிசைகள்

ஒரு வரிசை என்பது குறியீட்டு எண்ணைப் பயன்படுத்தி அணுகக்கூடிய தரவுகளின் தொகுப்பாகும். ஜாவாஸ்கிரிப்ட்டில், வரிசை கட்டமைப்பாளரைப் பயன்படுத்தி வரிசைகள் உருவாக்கப்படுகின்றன.

வெற்று வரிசையை உருவாக்க, வரிசை() கட்டமைப்பாளரைப் பயன்படுத்தவும்:

var myArray = புதிய வரிசை();

ஐந்து கூறுகளைக் கொண்ட வரிசையை உருவாக்க, பின்வரும் குறியீட்டைப் பயன்படுத்தவும்:

var myArray = புதிய வரிசை(5);

myArray[0] = “ஜாவாஸ்கிரிப்ட்”; myArray[1] = “வரிசைகள்”; myArray[2] = “செயல்பாடுகள்”; myArray[3] = “ஸ்ட்ரிங்ஸ்”; myArray[4] = “பூலியன்ஸ்”; myArray[5] = “எண்கள்”;

தொடர்புடைய இடுகைகள்:

ஒரு கருத்துரையை