最近、小さなプログラム プロジェクトを引き継いだのですが、リストを日付と時刻で並べ替えるという要件があったので、自分で試してみたところ、いくつかの操作を行った後、ようやく解決できました。ここで、私の経験をまとめて皆さんと共有し、皆さんのお役に立てれば幸いです。 要件分析(これが完成した効果です) 具体的な日時と時間は次のとおりです。私に送られてきたバックエンドデータは次のようになります 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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Ubuntu 20.04 aptの国内ソースを変更する方法
>>: Ubuntu 20.04でAliソースを変更する方法
Remote-SSHをインストールして設定するまず VSCode を開き、拡張機能を見つけて、Rem...
導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...
dokekrでmysqlコンテナを起動するコマンドを使用します: docker run -p 330...
目次背景解決新しい質問高度な背景シャトル ボックスが大量のデータを処理すると、レンダリングされる D...
序文: MySQL では、マスター/スレーブ アーキテクチャが最も基本的かつ最も一般的に使用されるア...
DIV フローティング効果 (固定位置) は CSS のみで実装されており、IE8、360、Fir...
目次配列の紹介配列リテラル2次元配列要約する配列の紹介配列- Arrayもオブジェクトですこれは通常...
元の派生コマンド: bin/sqoop インポート -connect jdbc:mysql://19...
目次序文直接充填方式for ループの push() メソッド配列コンストラクタメソッド配列コンストラ...
導入同社の最近の Vue フロントエンド プロジェクトの要件: ポップアップ ウィンドウのドラッグ、...
Django Web開発の過程で、HTMLを書く際にバックエンドから同じ名前のリスト変数が渡されるが...
理由は簡単です。 HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、...
目次ログはどこに保存されますか?コンテナ内のアプリケーションからのログを表示するDockerデーモン...
1. Apacheをインストールする # yum インストール -y httpd httpd-de...
序文要素がビューポート内にあるかどうかを監視する2つの方法を共有する1. 位置計算Element.g...