我在这个问题上摸不着头脑。我正在尝试编写一个带有数组arr
和整数n
的函数,并输出一个由原始数组的每个第n个元素(从索引0开始)组成的新数组,返回在必要时到达终点时开始。
例如:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 3
output = [0, 3, 6, 9, 1, 4, 7, 2, 5, 8]
或者:
arr = [0, 1, 2, 3, 4, 5, 6]
n = 2
output = [0, 2, 4, 6, 1, 3, 5]
答案 0 :(得分:4)
这应该有效:
function get_n_elements(arr, n) {
if ( n === 1 ) return arr.slice();
var i, j,
len = arr.length,
ret = [];
for ( i = 0; i < n; i++ ) {
for ( j = i; j < len; j += n ) {
ret.push( arr[ j ] );
}
}
return ret;
}