2017-08-24 1 views
-2

を反応させる一種の逆:どのように私はReactJSを使ってクリックしたときに、この種のを逆にしようとしている

 if (this.state.Prz==3) { 
     this.props.files.sort(function(a,b){ 
      return a.lastModified < b.lastModified ? 1 : -1; 
     }); 
    } 

私はGoogleで検索多くのトリックを試みたが、私はまだこだわっています。

+0

私には大丈夫です。 –

+1

ソート順はどのように決定する必要がありますか?それは州や小道具、あるいは何から来るのでしょうか? sort関数の中に条件を入れるだけでいいようです。 –

+0

ソートは小道具によって決まります。条件を付け加えれば、より良い仕事ですが、_lasModified_は間違っているようですが、多くの助けになります。ありがとう – MeowMeow

答えて

0

あなたは、単にこれは元の配列を変異されることに注意してくださいかかわら

this.props.files.reverse() 

を逆に呼び出すことで、配列を逆にすることができます。

0

1-1交換することにより(あなたがDateでソートしているように見えるので)あなたはソートの方向を変更することができます。

this.props.files.sort(function(a,b){ 
    return a.lastModified < b.lastModified ? -1 : 1; 
}); 

それとも、配列を逆にすることができますが、それはそれを行う前にソートされたと仮定すると、(concat()配列をコピーして「不変」にすることです)。

this.props.files.concat().reverse(); 
0

最後に私がどのようにしたのですか?私は条件を追加します。

if (this.state.activePrz==3) { 
     this.props.files.sort(function(a,b){ 
      var asc = a.lastModified < b.lastModified; 
      var desc = a.lastModified > b.lastModified; 
      if(asc == true){ 
       return asc; 
      }else{ 
       return desc; 
      } 
     }) 
    } 

これは機能します。

私はしませんでした:

this.props.files.reverse(); 

または

this.props.files.concat().reverse(); 

エラーメッセージが表示されました:

未定義

多くのプロパティ 'ファイル' を読み取ることができません。 yのおかげで私たちの助け。

関連する問題