js 多维数组, 再某个指定元素之前添加一个元素
时间: 2024-04-23 10:27:57 浏览: 10
要在多维数组的某个指定元素之前添加一个元素,可以使用递归来遍历多维数组,并在找到指定元素时,在该位置之前插入新元素。以下是一个示例代码:
```javascript
function insertBefore(arr, targetElement, newElement) {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
insertBefore(arr[i], targetElement, newElement); // 递归处理多维数组的子数组
} else if (arr[i] === targetElement) {
arr.splice(i, 0, newElement); // 在指定元素之前插入新元素
break; // 插入后可以结束循环
}
}
}
// 示例
const multiDimArray = [[1, 2, 3], [4, [5, 6], 7], [8, [9, 10]]];
const targetElement = 6;
const newElement = 99;
insertBefore(multiDimArray, targetElement, newElement);
console.log(multiDimArray);
```
这个示例中,`insertBefore` 函数接收三个参数:多维数组 `arr`,目标元素 `targetElement` 和要插入的新元素 `newElement`。它使用递归来处理多维数组的子数组,并在找到目标元素时,在该位置之前使用 `splice` 方法插入新元素。
运行示例代码后,输出结果为 `[[1, 2, 3], [4, [5, 99, 6], 7], [8, [9, 10]]]`,其中新元素 `99` 被插入到目标元素 `6` 之前。