我们需要编写一个包含数组,开始索引和结束索引的JavaScript函数。该函数应反转数组在开始索引和结束索引之间的部分。
例如-
如果数组是-
const arr = [2, 6, 5, 8, 3, 5, 2, 6, 7];
并且开始索引和结束索引分别为3、7,则该数组应反转为-
const output = [2, 6, 5, 2, 5, 3, 8, 6, 7];
以下是代码-
const arr = [2, 6, 5, 8, 3, 5, 2, 6, 7]; const start = 3, end = 7; const reverse = arr => { const { length: l } = arr; for(let i = 0; i < Math.floor(l/2); i++){ const temp = arr[i]; arr[i] = arr[l-i-1]; arr[l-i-1] = temp; }; return arr; }; const reverseBetween = (arr, start, end) => { const num = Math.min(end - start, arr.length - start); arr.splice(start, 0, ...reverse(arr.splice(start, num))); } reverseBetween(arr, start, end); console.log(arr);
输出结果
这将在控制台中产生以下输出-
[ 2, 6, 5, 2, 5, 3, 8, 6, 7 ]