js,如何按照下标号去分割一个不等长的数组,下有详细

要在 JavaScript 中根据下标分割一个不等长的数组,可以使用以下步骤:

方法一:使用 slice 方法

JavaScript 的 Array.prototype.slice() 方法可以用来分割数组。你可以通过指定开始和结束的下标来获取数组的子数组。以下是如何根据多个下标分割数组的例子:

javascript
function splitArrayByIndices(arr, indices) { let result = []; let start = 0; for (let i = 0; i < indices.length; i++) { let end = indices[i]; result.push(arr.slice(start, end)); start = end; } // Handle the remaining elements if (start < arr.length) { result.push(arr.slice(start)); } return result; } // 示例 let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let indices = [3, 5, 8]; // 表示分割在下标3, 5, 和 8处 let splitted = splitArrayByIndices(arr, indices); console.log(splitted); // [[1, 2, 3], [4, 5], [6, 7, 8], [9]]

方法二:使用 reduce 方法

你还可以使用 Array.prototype.reduce() 方法来分割数组。以下是一个例子:

javascript
function splitArrayByIndices(arr, indices) { return indices.reduce((result, index) => { result.push(arr.slice(result.lastIndex, index)); result.lastIndex = index; return result; }, { lastIndex: 0, result: [] }).result.concat(arr.slice(indices[indices.length - 1])); } // 示例 let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let indices = [3, 5, 8]; // 表示分割在下标3, 5, 和 8处 let splitted = splitArrayByIndices(arr, indices); console.log(splitted); // [[1, 2, 3], [4, 5], [6, 7, 8], [9]]

总结

  1. slice 方法:使用 slice 方法可以在指定的下标之间创建新的数组片段。
  2. reduce 方法:使用 reduce 方法可以在遍历索引时动态生成分割后的数组。

关键字

JavaScript, 数组分割, slice 方法, reduce 方法, 下标, 子数组