//用于对象数组赋值
copyLinearArray(source) {
var sourceCopy = [],
objectCopy = {};
if (source.constructor === Object) {
//如果是对象
Object.keys(source).forEach((item)=>{
if (source[item] && source[item] != 0) {
if(source[item].constructor === Object || Array.isArray(source[item])){
objectCopy[item] = this.copyLinearArray(source[item])
}else{
objectCopy[item] = source[item];
}
} else {
objectCopy[item] = source[item];
}
})
return objectCopy;
} else if(Array.isArray(source)){
//如果是数组
source.forEach((item,index)=>{
if(source[index].constructor === Object || Array.isArray(source[index])){
sourceCopy[index] = this.copyLinearArray(source[index])
}else{
sourceCopy[index] = source[index];
}
})
return sourceCopy;
}
},
用法:
this.newTreeData = []
this.newTreeData.splice(0)
let list = this.copyLinearArray( this.treeData)
this.newTreeData.push(...list)