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; }