JS 数值操作 一维数组转二维数组快捷操作

JavaScript07

JS 数值操作 一维数组转二维数组快捷操作,第1张

//一维数组变二维数组

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属性的属性生成一个数组,其他的跟这个操作相同了。