如何在JavaScript中调换二维数组子数组前两元素位置并删除末位元素?
解决方案:调整二维数组的子数组结构
刚好碰到过类似的需求,这里给你两种实现方式,都能完美达成你的要求:
方法一:使用解构赋值(简洁直观)
这种写法代码更清爽,可读性拉满,适合现代JavaScript环境:
function transformArray(arr) { return arr.map(subArr => { // 解构取出子数组的前两个元素 const [first, second] = subArr; // 调换顺序返回,自动忽略第三个元素 return [second, first]; }); } // 测试示例 const originalX = [['a', 'b', 'c'], ['d', 'e', 'f']]; const transformedX = transformArray(originalX); console.log(transformedX); // 输出: [[ 'b', 'a' ], [ 'e', 'd' ]]
方法二:使用数组下标(兼容性更好)
如果需要兼容一些老旧运行环境,或者更习惯传统写法,可以直接通过下标访问元素:
function transformArray(arr) { return arr.map(subArr => { // 直接取第2个和第1个元素(下标从0开始),返回新数组 return [subArr[1], subArr[0]]; }); }
关键说明
- 两种方法都用了
Array.prototype.map(),它会遍历原数组的每个子数组,返回一个全新的数组,不会修改原数组,避免了不必要的副作用。 - 因为我们只返回前两个调换后的元素,每个子数组的最后一个元素自然就被过滤掉了,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者blendcore
相关产品推荐
相关产品推荐

