let list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27] //示例
function TwoArray(list,index){
if(!Array.isArray(list) || isNaN(index)) return false
let list_json = JSON.parse(JSON.stringify(list))
let data = []
for(let i = 0i<list_json.lengthi++){
data.push( list_json.splice(0,list_json.length>index?index:list_json.length))
i = list_json.length>index?0:i
}
if(list_json.length>0)data.push(list_json)
return data
}
console.log(TwoArray(list,8))
普通的数组格式是:['a','b','c']JSON的格式是:{'1':'a','2':'b','3':'c'}所以把数组循环一下就可以了;var a = ['a','b','c']var json = {}for(var i=0i<a.lengthi++){json[i]=a[i]}JSON.stringify(json) //结果:{'1':'a','2':'b','3':'c'}二维转一维可以先遍历一般,把所有的元素都作为属性给一个对象,然后在把二维的数组再遍历也赋给给对象。完事儿后,声明一个一维数组,遍历之前对象,然后把遍历到的push给改数组。
一维转二维,按照你的规则先摘出一部分,作为元素给一个对象的某个属性(eg,a属性),剩下的作为对象的其他属性(eg。b,c,d,e等属性)。然后根据属性遍历生成二维。遍历a属性的属性生成一个数组,其他的跟这个操作相同了。