js将一维数组转化为二维数组、二维数组转化为一维数组效果demo(整理)

效果图:一维数组转成二维数组
在这里插入图片描述

效果图:二维数组转成一维数组
在这里插入图片描述

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>js将一维数组转化为二维数组、二维数组转化为一维数组</title>
	</head>
	<body>

	</body>
	<script>
		// 调用
		// let list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
		let list = [{
    
    
				id: '1',
				name: '一',
			},
			{
    
    
				id: '2',
				name: '二',
			},
			{
    
    
				id: '3',
				name: '三',
			},
			{
    
    
				id: '4',
				name: '四',
			},
			{
    
    
				id: '5',
				name: '五',
			},
			{
    
    
				id: '6',
				name: '六',
			},
			{
    
    
				id: '7',
				name: '七',
			},
			{
    
    
				id: '8',
				name: '八',
			},
			{
    
    
				id: '9',
				name: '九',
			},
			{
    
    
				id: '10',
				name: '十',
			},
			{
    
    
				id: '11',
				name: '十一',
			},
			{
    
    
				id: '12',
				name: '十二',
			},

		]
		console.log(list, '全部数据')
		joinWayArray(list);

		// 转化函数
		function joinWayArray(list) {
    
    
			const listResult = []; // 最终返回的二维数组
			for (let i = 0; i < Math.ceil((list.length / 10)); i++) {
    
    
				listResult[i] = [];
				for (let j = 0; j < 10; j++) {
    
    
					// 如果是最后一个板块
					if (i === (Math.ceil((list.length / 10)) - 1)) {
    
    
						if (Math.ceil((list.length % 10)) !== 0) {
    
    
							// 只有最后一个板块的数据在余数以内的才赋值
							if (j < Math.ceil((list.length % 10))) {
    
    
								listResult[i][j] = list[i * 10 + j];
							}
						} else {
    
    
							// 如果刚好整整一个板块,则全部附上值
							listResult[i][j] = list[i * 10 + j];
						}
					} else {
    
    
						listResult[i][j] = list[i * 10 + j];
					}
				}
			}
			console.log(listResult, '转化十个为一组后的数据')
			return listResult;
		}



		//二维数组转一维数组
		// let arr = [
		// 	['一', '二'],
		// 	['三', '四'],
		// 	['五', '六']
		// ];
		
		let arr = [
			[
				{
    
    
					id: 1,
					name: '一',
				},
				{
    
    
					id: 2,
					name: '二',
				},
				
			],
			[
				{
    
    
					id: 3,
					name: '三',
				},
				{
    
    
					id: 4,
					name: '四',
				},
				
			],
			[
				{
    
    
					id: 5,
					name: '五',
				},
				{
    
    
					id: 6,
					name: '六',
				},
				
			],
			
		];
		
		console.log('二维数组:', arr);
		let newarr = [];
		for (const item of arr) {
    
    
			newarr = [...newarr, ...item];
		}
		console.log('一维数组:', newarr);
	</script>
</html>

猜你喜欢

转载自blog.csdn.net/qq_38881495/article/details/125748574