/*
* { key1:[v11,v12],key2:[v21,v22]} 或 [[v11,v12],[v21,v22]] 转化成=》 [{key1:v11,key2:v21},{key1:v12,key2:v22},]
* */
function objTransform1(obj){
var desArr = [];
if(JSON.stringify(obj) == "{}"){
return desArr;
}
var keysArr = Object.keys(obj);
if(!(obj[keysArr[0]] instanceof Array)){ // 如果是{key1:v1,key2:v2}模式
desArr.push(obj);
return desArr;
}
Object.keys(obj).forEach(function(key){
var len =obj[key].length;
for(var i=0; i<len; i++){
if(!desArr[i]){
desArr.push({});
}
(desArr[i])[key] = (obj[key])[i];
}
});
return desArr;
}
/*
* [{key1:v11,key2:v12},{key1:v21,key2:v22}] 转化成=》 [[v11,v21],[v12,v22]]
* */
function transform2(objArr){
var desArr= [];
objArr.forEach(function(item,i){
Object.keys(item).forEach(function(key,j){
if(i==0){
desArr.push([]);
}
desArr[j].push(item[key]);
});
});
return desArr;
}
// 简单对象扩展属性,obj是对象,attr是要添加的属性对象{key1:v1,key2:v2},innerExtend是否是内部的属性对象扩展
function extendAttr(obj,attr,innerExtend){
if(JSON.stringify(obj) == "{}" ){ //判断是否是空对象,这里空对象不扩展
return false;
}
if(innerExtend){ //obj= {key1:{...},key2:{...}}
Object.keys(obj).forEach(function(key0){
Object.keys(attr).forEach(function(key){
(obj[key0])[key] = attr[key];
});
});
}else{
Object.keys(attr).forEach(function(key){
obj[key] = attr[key];
});
}
}