離家不遠

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

React Tutorial中有个问题,放一个toggle button可以切换从history这个数组遍历显示的正反顺序。

因为不想对state的结构产生太大影响(有一种比较糟糕的实现是:用reverse反转数组,然后state中的step也就是当前步骤设为history.length-1-step)

但是这边想到一个简单点的实现,在state中设置一个isAscending,toggle button可以改变这个isAscending

const moves = history.map((item, i) => {
            let index = this.state.isAscending ? i : history.length - 1 - i; 
       .....
/*ToDo*/ });

不知道map是否有这种参数设置能反序循环的,但是这边直接把index下标反序也能实现

下面列出数组遍历的实现

//正序1
for(var i=0;i<len-1;i++){
}
//反序1
for(var i=len-1;i>=0;i--){
}
//反序2
//在React中我用的map方法
//在正序1的基础上实现反序,可以不改变for循环结构
for(var i=0;i<len-1;i++){
  var index = len-1-i;  
}

 

posted on 2018-09-18 14:50  離家不遠  阅读(1171)  评论(0编辑  收藏  举报