解決済み: 配列 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 というように続きます。 配列の XNUMX 番目の要素にアクセスするには、インデックス番号 XNUMX を使用します。

配列を並べ替えるには、並べ替え関数を使用できます。 sort 関数は、配列と比較関数の XNUMX つの引数を取ります。 比較関数は、配列内の XNUMX つの要素を比較し、ブール値を返します。 比較関数が true を返す場合、配列内の位置 x にある要素は、配列内の位置 y にある要素の前に配置されます。 比較関数が false を返す場合、配列内の位置 x にある要素は、配列内の位置 y にある要素の後に配置されます。

以下は、並べ替え関数を使用して数値の配列を並べ替える方法の例です。

var 番号 = [1, 2, 3, 4]; // 比較関数を使用して数値を並べ替える var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // sortedNumbers console .log(sortedNumbers); を出力します。

ランダム配列

配列は、インデックス番号を使用してアクセスできるデータのコレクションです。 JavaScript では、配列は Array コンストラクターを使用して作成されます。

空の配列を作成するには、Array() コンストラクターを使用します。

var myArray = 新しい Array();

XNUMX つの要素を持つ配列を作成するには、次のコードを使用します。

var myArray = 新しい配列(5);

myArray[0] = "JavaScript"; myArray[1] = "配列"; myArray[2] = "関数"; myArray[3] = "文字列"; myArray[4] = "ブール値"; myArray[5] = "数値";

関連記事:

コメント