用 js 实现一维数组转化为二维数组

问题

用 js 实现一维数组转化为二维数组

分析

1. for 循环 + slice 方法

使用 JavaScript 的循环和 slice 方法来将数组 [160, 20, 179, 10, -170, -20] 转化为 [[160, 20], [179, 10], [-170, -20]]。以下是一个示例代码:

const arr = [160, 20, 179, 10, -170, -20];
const result = [];

for (let i = 0; i < arr.length; i += 2) {
    
    
  result.push(arr.slice(i, i + 2));
}

console.log(result); // 输出转化后的数组

在上述代码中,通过循环遍历原始数组,每次取两个元素并使用 slice 方法将其组成一个新的子数组,然后将子数组添加到结果数组中。

最后,通过 console.log 输出转化后的数组 result。

2. flatMap 方法

用 flatMap 方法来简化将数组 [160, 20, 179, 10, -170, -20] 转换为 [[160, 20], [179, 10], [-170, -20]] 的过程。以下是使用 flatMap 的示例代码:

const arr = [160, 20, 179, 10, -170, -20];
const result = arr.flatMap((value, index, array) => {
    
    
  if (index % 2 === 0) {
    
    
    return [array.slice(index, index + 2)];
  }
  return [];
});

console.log(result); // 输出转化后的数组

在上述代码中,我们使用 flatMap 方法来遍历原始数组 arr。在回调函数中,我们检查当前元素的索引是否为偶数,如果是,则使用 slice 方法将当前元素和下一个元素组成一个子数组,并返回该子数组。如果索引为奇数,则返回一个空数组。

最后,通过 console.log 输出转化后的数组 result。

猜你喜欢

转载自blog.csdn.net/qq_53810245/article/details/134442102