誰能告訴我什麼是錯,此代碼得到N個從數組從給定的點開始數
var list = [0, 1, 2, 3, 4, 5, 6, 7];
function get_next_num(point, direction, count){
var results = [];
for(i = point; i < count; i++){
if(direction == 'left'){
i = -i;
}
if(i > list.length - 1)
i = 0;
if(i < 0)
i = list.length - 1;
results.push(i);
}
return results;
}
它應該返回從從給定的點開始的數組號的列表,但它僅適用如果我從0
開始如果我從6開始,例如我什麼也沒得到
警報(get_next_num(6, '右',3));
但它應該返回7,0,1
對於初學者來說,如果方向是向左,你切換在每個迭代上的減號。實際上,你想要做的就是使用[Array.prototype.silce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)。 – Nit
你正在推'i'而不是'list [i]'。另外,你從'point'開始並繼續'count'。如果'point'爲'5'而'count'爲'4',則不會得到任何結果。 '或者爲'(i = 0; i
aioobe
你真的想從'get_next_num(6,'right',3)';'獲得'7,0,1'嗎?如果你以6作爲列表的索引,那麼你會得到'6',而不是'7'。 –