Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

プロパティに一貫性がない場合に、プロパティに基づいてJavaScriptオブジェクトリストを並べ替える方法


さまざまなオブジェクトを含む配列があります。この配列のいくつかのオブジェクトには日付フィールド(基本的には日付オブジェクトではなくサーバーから文字列として返されます)がありますが、他のオブジェクトの場合、このフィールドはnullです。

要件は、上部に日付のないオブジェクトを表示する必要があり、日付のあるオブジェクトは、日付フィールドで並べ替えた後に表示する必要があります。

また、日付の並べ替えがないオブジェクトの場合は、アルファベット順に実行する必要があります。

const sorter = ((a, b) => {
   if (typeof a.date == 'undefined' && typeof b.date != 'undefined') {
      return -1;
   }
   else if (typeof a.date != 'undefined' && typeof b.date == 'undefined') {
      return 1; }
   else if (typeof a.date == 'undefined' && typeof b.date == 'undefined') {
      return a.name.localeCompare(b.name);
   }
   else if (a.date == null && b.date != null) {
      return -1;
   }
   else if (a.date != null && b.date == null) {
      return 1;
   }
   else if (a.date == null && b.date == null) {
      return 0;
   }
   else {
      var d1 = Date.parse(a.date);
      var d2 = Date.parse(b.date);
      return d1 - d2;
   }
});

  1. JavaScriptで日付の日を設定するにはどうすればよいですか?

    以下は、JavaScriptで日付の日を設定するコードです- 例 <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &

  2. JavaScriptでDateオブジェクトを作成するにはどうすればよいですか?

    以下は、JavaScriptで日付オブジェクトを作成するためのコードです- 例 <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &