ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で複数列の配列を所有者と出版物名で並べ替える方法

JavaScript で複数列の配列を所有者と出版物名で並べ替える方法

DDD
DDDオリジナル
2024-11-01 01:29:28497ブラウズ

How to Sort a Multi-Column Array in JavaScript by Owner and Publication Name?

JavaScript でのカスタマイズされた複数列配列の並べ替え

複数の列に基づいて配列を並べ替えるのは、プログラミングにおける一般的なタスクです。この質問では、特定の配列構造に対して JavaScript でこれを実現する方法を検討します。

問題の配列は、次の構造を持つ多次元配列です:

[publicationID][publication_name][ownderID][owner_name]

目的は、配列を並べ替えることです。最初に owner_name で、次に Publication_name で並べます。

複数の列で並べ替えるには、カスタム 並べ替え関数で両方の基準を考慮する必要があります。次のコードは、提供された mysortfunction を変更して目的の結果を達成する方法を示しています。

function mysortfunction(a, b) {

  var o1 = a[3].toLowerCase();
  var o2 = b[3].toLowerCase();

  var p1 = a[1].toLowerCase();
  var p2 = b[1].toLowerCase();

  if (o1 < o2) return -1;
  if (o1 > o2) return 1;
  if (p1 < p2) return -1;
  if (p1 > p2) return 1;
  return 0;
}

この関数内:

  • 大文字と小文字を区別しない比較のため、o1 と o2 は小文字に変換されます。
  • publication_name の大文字と小文字を区別せずに比較するために、p1 と p2 は小文字に変換されます。
  • owner_name の値が異なる場合、関数はそれらに基づいて並べ替えます。
  • owner_name の値が同じ場合、関数はタイブレークに Publication_name を使用します。

以上がJavaScript で複数列の配列を所有者と出版物名で並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。