Node.js는 1차원 배열을 2차원 배열로 재구성합니다.

질문

문제 발생: 인터페이스를 렌더링할 때 필요한 것은 2차원 배열인데 배경에서 나에게 보내는 데이터는 1차원 배열이다. 2차원 배열.
이 상황은 일반적으로 백그라운드에서 전달된 데이터를 페이지에 표시해야 할 때 사용됩니다.

기술

루프+스플라이스

접착

splice() 메서드는 배열에 항목을 추가/제거하고 제거된 항목을 반환합니다
. 참고: 이 메서드는 원래 배열을 변경합니다.

예:

1. 먼저 백그라운드에서 얻은 1차원 배열에 따라 분할할 페이지 수를 계산합니다.여기서 각 페이지는 3개의 데이터를 표시합니다.먼저
루프하려는 데이터의 초기 정의는 listdata입니다.

//data  后台传过来的数据
var num=Math.ceil(data.length/3)
//得到总的分页数num

2. 획득한 num 페이지 수에 따라 루프를 돌고 매 루프마다 데이터에서 3개의 데이터를 가로채서 listdata에 저장한다.

for(var i=0;i<num;i++){
    
    
  listdata.push(data.splice(0,3))
}

이 작업 후 data의 데이터는 2차원 배열로 변환되어 listdata에 저장됩니다.
다음과 같은 효과:

data:[{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},]

여기서 데이터의 최소 길이는 8이며, 한 페이지에 세 페이지를 저장하도록 설정하면 세 페이지가 생성되며,

listdata:[
	[{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22}],
	[{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22}],
	[{
    
    name:"lisi",age:22},{
    
    name:"lisi",age:22}]
]

추천

출처blog.csdn.net/LiuPangZi6/article/details/102594532