해결됨: 배열 javascript를 무작위로 정렬하는 방법

배열을 임의로 정렬할 때의 주된 문제는 시간이 많이 걸린다는 것입니다.

 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을 사용합니다.

배열을 정렬하려면 정렬 기능을 사용할 수 있습니다. 정렬 함수는 배열과 비교 함수라는 두 가지 인수를 사용합니다. 비교 함수는 배열의 두 요소를 비교하고 부울 값을 반환합니다. 비교 함수가 true를 반환하면 배열의 x 위치에 있는 요소가 배열의 y 위치에 있는 요소 앞에 배치됩니다. 비교 함수가 false를 반환하면 배열의 x 위치에 있는 요소가 배열의 y 위치에 있는 요소 뒤에 배치됩니다.

다음은 정렬 함수를 사용하여 숫자 배열을 정렬하는 방법의 예입니다.

변수 번호 = [1, 2, 3, 4]; // 비교 함수를 사용하여 숫자 정렬 var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // sortedNumbers 출력 console .log(sortedNumbers);

무작위 배열

배열은 인덱스 번호를 사용하여 액세스할 수 있는 데이터 모음입니다. JavaScript에서 배열은 Array 생성자를 사용하여 생성됩니다.

빈 배열을 만들려면 Array() 생성자를 사용하십시오.

var myArray = 새 배열();

XNUMX개의 요소가 있는 배열을 만들려면 다음 코드를 사용하십시오.

var myArray = 새 배열(5);

myArray[0] = "자바스크립트"; myArray[1] = "배열"; myArray[2] = "함수"; myArray[3] = "문자열"; myArray[4] = "부울"; myArray[5] = "숫자";

관련 게시물:

코멘트 남김