js でのsortメソッドの仕組み

下次还敢
リリース: 2024-05-06 13:48:15
オリジナル
377 人が閲覧しました

JavaScript の sort() メソッドは、型変換、比較、交換、再帰的な手順を通じて、配列要素の文字列の昇順ソートを実行します。元の配列を変更しますが、並べ替えのためにslice()メソッドを介してコピーを作成できます。

js でのsortメソッドの仕組み

JavaScript の Sort メソッドの仕組み

JavaScript の sort() メソッドは、配列要素を並べ替えるために使用されます。これは、元の配列を変更できるネイティブ メソッドです。 sort() 方法用于对数组元素进行排序。它是一个原生方法,可以改变原始数组。

工作原理:

sort() 方法使用以下步骤对数组元素进行排序:

  1. 类型转换: 将所有数组元素转换为字符串。
  2. 比较: 对于数组中的每个元素,将其与相邻的元素进行比较。比较是基于字符串的 Unicode 代码点值。
  3. 交换: 如果当前元素的代码点值小于相邻元素,则将这两个元素交换。
  4. 递归: 重复步骤 1-3,直到所有元素都按升序排列。

注意:

  • sort() 方法是针对字符串进行排序的,而不是数字。如果数组中包含数字,请考虑使用 Array.prototype.sort()compareFunction 参数进行自定义排序。
  • sort() 方法会改变原始数组。如果你想要保留原始数组,可以使用 Array.prototype.slice()
仕組み:

sort() メソッドは、次の手順を使用して配列要素を並べ替えます:

  1. 🎜型変換: 🎜 すべての配列要素を文字列に変換します。 🎜
  2. 🎜比較: 🎜 配列内の各要素について、隣接する要素と比較します。比較は、文字列の Unicode コード ポイント値に基づいて行われます。 🎜
  3. 🎜交換: 🎜 現在の要素のコード ポイント値が隣接する要素より小さい場合、2 つの要素を交換します。 🎜
  4. 🎜再帰: 🎜 すべての要素が昇順で並べ替えられるまで、手順 1 ~ 3 を繰り返します。 🎜
🎜🎜注: 🎜🎜
  • sort() メソッドは、数値ではなく文字列を並べ替えるためのものです。配列に数値が含まれている場合は、カスタム並べ替えに Array.prototype.sort()compareFunction パラメーターを使用することを検討してください。 🎜
  • sort() メソッドは元の配列を変更します。元の配列を保持したい場合は、Array.prototype.slice() メソッドを使用してコピーを作成し、それを並べ替えることができます。 🎜🎜🎜🎜例: 🎜🎜
    <code class="javascript">const numbers = [3, 1, 2];
    
    // 排序并修改原始数组
    numbers.sort(); // [1, 2, 3]
    
    // 使用比较函数按降序排列
    const sortedDesc = numbers.sort((a, b) => b - a); // [3, 2, 1]</code>
    ログイン後にコピー

以上がjs でのsortメソッドの仕組みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート