前天在写一个功能的时候需要几张纸牌头尾相互比较,也就是一共有10张纸牌,第1张和第10张比较,第2张和第9张比较,第3张和第8张比较...以此类推。那么怎么实现呢?思路如下:

假如这是10张纸牌:

      1   2   3   4   5   6   7   8   9   10

我们要达到类似这样的效果:

      1   10

      2    9

      3    8

      4    7

      5    6

这样他们就可以相互比较啦!

那第一步可以怎样做呢?我的做法是这样的,先把这10张纸牌折半,注意是按序号为奇偶数来折半,奇数为一组,偶数为一组,也就是

     1   3   5   7   9

     2   4   6   8   10 

写成代码是这样的(这里简单演示)

数组头尾元素相互比较,JavaScript实现数组头尾元素相互比较,JavaScript实现

那么我们还需要把序号为偶数的数组evenArr翻转,才能达到头尾比较的效果

数组头尾元素相互比较,JavaScript实现

数组头尾元素相互比较,JavaScript实现

接下来我们再创建一个新数组存放需要比较的数就行了

数组头尾元素相互比较,JavaScript实现数组头尾元素相互比较,JavaScript实现

然后再把各个小数组按顺序排列就行啦

数组头尾元素相互比较,JavaScript实现

数组头尾元素相互比较,JavaScript实现

当然这个并不只是可以简单比较这种数组,如果用于比较对象属性的话,用这个方法也可行的

相关文章: