我正在尝试使用现有的4个值填充一个最多包含'n'个值的数组。我想用一种模式来填充它,该模式可以前后移动,直到达到'n'值的容量。

例如,对于我的数组:

var array = [a, b, c, d];


我希望结果数组遵循以下模式:

array = [a, b, c, d,
         c, b, a, b,
         c, d, c, b,
         a, b, c, d...(continues this pattern)]

最佳答案

concat()slice()reverse()将帮助您前进。

这将重复模式100次:



var array = ['a', 'b', 'c', 'd'];

for(var i = 0 ; i < 100 ; i++) {
  array = array.concat(array.slice(0,3).reverse());
  array = array.concat(array.slice(1,4));
}

document.body.innerHTML= array.join(' ');

07-24 09:44
查看更多