WeChatアプレットは日付と時刻に基づいた並べ替え機能を実装

WeChatアプレットは日付と時刻に基づいた並べ替え機能を実装

最近、小さなプログラム プロジェクトを引き継いだのですが、リストを日付と時刻で並べ替えるという要件があったので、自分で試してみたところ、いくつかの操作を行った後、ようやく解決できました。ここで、私の経験をまとめて皆さんと共有し、皆さんのお役に立てれば幸いです。

要件分析(これが完成した効果です)

具体的な日時と時間は次のとおりです。私に送られてきたバックエンドデータは次のようになります

startDate: "2021-08-27" //日付 年 月 日 startTime: "10:15" //開始時刻 endTime: "20:00" //終了時刻

実装コード

// 日付で並べ替える compareate: function (property) {
    // console.log(プロパティ); 
    関数(a, b)を返す{ 
    var value1 = Date.parse(new Date(a[property])); // 日付を取得するために16進数に変換します var value2 = Date.parse(new Date(b[property]));
    // console.log( 値1 - 値2 );
      return value1 - value2; //value1-value2 は小さい順から大きい順に、またその逆順に並べられます}
},

// 時間で並べ替える 時刻の形式は 10:00 なので、スライスを使用して文字列の最初の 2 桁をインターセプトし、時間の順序を時間ごとに比較します comparehour: function (property) {
  // console.log(プロパティ);
  関数(a, b)を返す{
    var value1 = a.startTime.slice(0,2) //slice(0,2) は比較のために文字列の最初の 2 桁を取得します var value2 = b.endTime.slice(0,2)
    // コンソール.log(値1-値2)
   value1 -value2 を返します //value1-value2 は小さい方から大きい方へ、またその逆順にソートされます}
},

  
MyTaskList:関数(){
    var それ=これ
    wx.リクエスト({
      url: 'リクエストインターフェース',
      データ: {
       //パラメータを入力},
      メソッド: "POST",
      ヘッダー: {
        'コンテンツタイプ': 'アプリケーション/json'
      },
      成功: 関数 (res) {
        // 時間で並べ替え if(res.data.list.orderDetailsList!=""){
          var dataListaaa=res.data.list.orderDetailsList;
          dataListaaa.forEach((item) => {
             var 開始時間 = アイテム.開始時間
              var 終了時間 =item.終了時間

    
          })
                      dataListaaa.sort(that.compareatime('starttime')); //上記の時間ソートメソッドを呼び出す}
        // 日付で並べ替え if(res.data.data=="success"){
          コンソールログ(res);
          if(res.data.list.orderDetailsList!=""){
            var dataList=res.data.list.orderDetailsList;
            dataList.forEach((item) => {
            //ループ後に時間形式を変換します var month=new Date(item.startDate.replace(/-/g,'/')).getMonth()+1;
              var day=new Date(item.startDate.replace(/-/g,'/')).getDate();
              var dateVal=month+'月'+day+'日'; // '月'と'日'を連結する
              項目['startDateFormat']=dateVal;
                // コンソールログ(日);
                
              // コンソールログ(dateVal);
            })
                         dataList.sort(that.comparedate('startDate')); //上記のcomparateと組み合わせたメソッドを使用して日付でソートします

         
  
  },

要約する

以上がWeChatミニプログラムを日時順に並べ替える全プロセスです。皆様のお役に立てれば幸いです。

この記事の内容をすべてご紹介させていただきましたので、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChat アプレットのドラッグ アンド ドロップによる並べ替えリストのサンプル コード
  • WeChatアプレットが指ドラッグオプションの並べ替えを実装
  • WeChat アプレットのドラッグ アンド ドロップによる並べ替え (コード共有)

<<:  Ubuntu 20.04 aptの国内ソースを変更する方法

>>:  Ubuntu 20.04でAliソースを変更する方法

推薦する

MySQLでTEXT/BLOB型を使用する際の注意点を詳しく説明します

1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...

Linux parted ディスク パーティション実装手順の分析

fdisk と比較すると、parted はあまり使用されず、主に 2T を超えるパーティションに使用...

Vue ルーターにパラメータを渡すときにページを更新するとパラメータが失われる問題に対処する方法

目次概要方法1: params経由でパラメータを渡す方法2: クエリを通じてパラメータを渡す方法3:...

MySQL: MySQL 関数

1. 組み込み関数1. 数学関数ランド()丸め(数値) ceil(数値)階数(数値)ランダム丸め切り...

入力のid属性とname属性の違いの例

長い間ウェブサイトを作ってきましたが、入力時のnameとidの違いがまだわかりません。最近jQuer...

JavaScriptで継承を実装するいくつかの方法

目次構造継承(callで実装)プロトタイプチェーン継承(プロトタイプチェーンの助けを借りて実装)複合...

円形グラデーションプログレスバー効果を実現する CSS サンプルコード

実装のアイデア一番外側は大きな円(グラデーションカラー)グラデーションの円を覆うように、内側に半円を...

Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

自動プロジェクト展開は大企業やユニコーン企業でよく使用され、手動でプロジェクトを展開するよりも効率的...

MySQL5.7 シングルインスタンス自動起動サービスの設定プロセス

1.MySQLのバージョン [root@clq システム]# mysql -v MySQL モニター...

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...

IMG での UserMap の使用例

usemap は <img> タグの属性であり、使用するイメージ マップの名前を指定する...

Vueは虫眼鏡付きの検索ボックスを実装します

この記事では、Vueを使用して虫眼鏡付きの検索ボックスを実装する方法を紹介します。具体的な内容は次の...

Linux システムの busybox に mkfs.vfat コマンドを移植する

オーディオおよびビデオ ファイルを保存するためのディスク寿命を延ばすには、ディスクをフォーマットする...

数十行のjsを使用してクールなキャンバスインタラクティブ効果を実現する方法を教えます

目次1. 円を描く2. マウスで動かした円3. マウスでドラッグした粒子4. カラーグラデーション粒...