数组操作之传入一维数组分割成指定长度的二维数组(个人笔记)

293 阅读1分钟
// 传入一维数组和分割对应数组长度 例如[1,2,3,4,5,6,7,8,9],2     变成 [[1,2],[3,4],[5,6],[7,8],[9]]
		let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
		// 第一种
		// const arrFun = (arr, len) => {
		//   return Array.from({ length: Math.ceil(arr.length / len) }, (item, i) =>
		//     arr.slice(i * len, i * len + len)
		//   )
		// }
		// console.log(arrFun(arr,4))	
		
		
		//第二种
		const arrFun = (arr, len) => {
			let index = arr.length % len == 0 ? arr.length / len : parseInt((arr.length / len) + 1) //外层循环次数
			let newArr = []
			for (let i = 0; i < index; i++) {
				let item = arr.slice(i * len, len * (i + 1))
				newArr.push(item)
			}
			return newArr
		}
		console.log(arrFun(arr, 3))
		
		
		
		// 第三种思路
		// const arrFun = (arr, len) => {
		//    let index = arr.length%len==0?arr.length/len: parseInt((arr.length/len)+1)//外层循环次数
		//    let newArr =[]
		//    for(let i = 0;i<index;i++ ){
		//    let item = arr.splice(0,len)
		//     newArr.push(item)
		//    }
		//    return newArr
		//   }
		//   console.log(arrFun(arr,2))

image.png