多维对象转数组:
let objTree = {name: '河南',children: {name: '洛阳',children: {name: '洛宁',children: {name: '兴华',},},},}function toList(obj, listre) {for (let key in obj) {if (typeof obj[key] == 'object') {console.log('是对象', obj[key])toList(obj[key], listre)} else {console.log('是string:', obj[key])listre.push(obj[key])}}}var listres = []toList(objTree, listres)var resStr = listres.join('/')console.log('得到的结果是:', resStr)
多维数组对象转数组:
function flatten(arr) {return [].concat(...arr.map((item) => {if (item.children) {let arr = [].concat(item, ...this.flatten(item.children))delete item.childrenreturn arr}return [].concat(item)}))}let fromData = [{id: '310000',pid: 0,name: '上海',children: [{pid: '310000',id: '310100',name: '市辖区',},{pid: '310000',id: '310200',name: '郊区',},],},{id: '350000',pid: 0,name: '福建省',children: [{pid: '350000',id: '350100',name: '厦门',},{pid: '350000',id: '350200',name: '泉州',},],},{id: '110000',pid: 0,name: '北京',},]let res = flatten(fromData)console.log(res)