js一维数组转二维数组

简介: js一维数组转二维数组

使用场景举例:


1.接口返回一个数组对象,展示时每行固定显示n个,则可将返回的数组转成二维数组[[...n], [...n]...]的形式循环展示。

2.轮播图需要每次展示n个,就需要把数据分成若干份,每份n个

方法一:使用slice()方法截取数据

const arr = [1, 2, 3, 4, 5, 6, 7, 8]
const len = arr.length  //len为数组的长度
const n = 4 // 假设每行显示4个
const Num = len % 4 === 0 ? len / 4 : Math.floor((len / 4) + 1)  //得出多少份
const res = [] //定义数组接受最终的数据
for (let i = 0; i < Num; i++) {
  // slice() 方法返回一个从开始到结束(不包括结束)的数组。且原始数组不会被修改。
  const newArr = arr.slice(i * n, i * n + n) //得到每份的数据
  res.push(newArr) //往res数组里加数据
}
console.log(res, '二维数组') 

image.png

小结:此方法只适合数组,不适合对象的情况,因为slice()是浅拷贝。导致的问题就是你修改了新生成的数组对象值,会影响原始数组中对象的值。

注意:如果数组里面的数据是对象的话,需要在push的时候,进行深拷贝。

修改代码:使用JSON.parse(JSON.stringify())深拷贝

res.push(JSON.parse(JSON.stringify(temp)));

方法二:双重for循环


var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
function getTwoArr (arr, n = 2) {
  var arr2 = []
  for (var i = 0, j = 0; i < arr.length; i += n) {
    // 初始化数组单个元素为数组
    arr2[j] = []
    for (var k = 0; k < n; k++) {
      if (i + k < arr.length) { arr2[j].push(arr[i + k]) }
    }
    j++
  }
  console.log(arr2)
  return arr2
}
getTwoArr(arr)
getTwoArr(arr, 4)


相关文章
|
26天前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
17 2
|
29天前
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
20 3
|
1月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
34 4
|
29天前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
29 1
|
1月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
23 5
|
1月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
31 1
|
26天前
|
分布式计算 JavaScript 前端开发
JavaScript:轻松创建二维数组的多种方法
本文探讨了如何使用 JavaScript 生成二维数组的多种方法,揭示了这些方法在编程中的灵活应用。文章首先通过介绍如何创建一维数组,为理解二维数组的生成奠定基础。接着,分析了几种常见的生成二维数组的方法,包括使用嵌套循环、Array.from()、Array.fill() 以及 展开运算符 和 map() 等技巧。每种方法都有其优缺点,开发者可以根据场景选择最合适的方案。
37 0
|
29天前
|
JavaScript 前端开发 API
JS中数组的方法flat()怎么用
JS中数组的方法flat()怎么用
13 0
|
29天前
|
JavaScript 前端开发 索引
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
JavaScript中数组、对象等循环遍历的常用方法介绍(一)
17 0
|
1月前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
17 0