第一个:
{
p: "category",
category1: "001",
name1: "100",
category2: "001",
name2: "100",
category3: "001",
name3: "100",
category12: "001",
name12: "100",
}
第二个value
对应上面的nameX
{
p: "category",
category: [
{
value: "001",
name: "100"
},
{
value: "001",
name: "100"
},
{
value: "001",
name: "100"
},
{
value: "001",
name: "100"
}
]
}
如何将第一个转换成第二个?
function formate(ob){
var newObject = {};
newObject.p = ob.p;
newObject.category = [];
var newArry =[];
for(var i in ob){
if(i!=="p"){
newArry.push(ob[i]);
}
}
//console.log(newArry);
for(var j=0;j<(newArry.length/2);j++){
var object = {};
object.value = newArry[j];
object.name = newArry[j+1];
newObject.category.push(object);
}
return newObject;
}
var list={
p: "category",
category1: "001",
name1: "100",
category2: "001",
name2: "100",
category3: "001",
name3: "100",
category12: "001",
name12: "100",
}
var newList={p:list.p,category:[]};
var key=Object.keys(list);
key.shift();
for(var i=0;i<key.length;i+=2){
newList.category.push({
value:list[key[i]],
name: list[key[i+1]]
});
}
console.log(newList)
var obj = {p: "category",category : []};
var src = {
p: "category",
category1: "001",
name1: "100",
category2: "001",
name2: "100",
category3: "001",
name3: "100",
category12: "001",
name12: "100",
};
for(var key in src){
if(/category/.test(key)){
obj.category.push({
value : src[key],
name : src['name' + key.match(/\d+/)[0]]
});
}
}