需求:将对象转为需要的数组形式
/**
* { aa: "关于会议说明&&不可为空", bb: "其他&&其他", cc: "访谈人物&&个人介绍" }
* 改为
* [
* {key: 'aa', value1: '关于会议说明', value2: '不可为空'},
* {key: 'bb', value1: '其他', value2: '其他'},
* {key: 'cc', value1: '访谈人物', value2: '个人介绍'},
* ]
*
*/
方案一
let obj = {
aa: "关于会议说明&&不可为空",
bb: "其他&&其他",
cc: "访谈人物&&个人介绍"
}
let arr = []
for (let i in obj) {
// console.log("i",i) //key
// console.log("value",obj[i]) //value
let values = obj[i].split("&&")
let objNew = {
key: i,
value1: values[0],
value2: values[1]
}
arr.push(objNew)
}
console.log(arr)
方案二
let obj = {
aa: "关于会议说明&&不可为空",
bb: "其他&&其他",
cc: "访谈人物&&个人介绍"
}
let keys = Object.keys(obj)
let values=Object.values(obj);
// console.log("keys",keys)// ['aa', 'bb', 'cc']
// console.log("values",values)//['关于会议说明&&不可为空', '其他&&其他', '访谈人物&&个人介绍']
let arr =[]
for(let i=0;i<keys.length;i++){
// let keyStr = keys[i]//aa bb cc
// let valueStr = values[i];//关于会议说明&&不可为空 其他&&其他 访谈人物&&个人介绍
// console.log(keyStr,valueStr)
var objNew= {
key:keys[i],
value1:values[i].split("&&")[0],
value2:values[i].split("&&")[1],
};
arr.push(objNew);
}
console.log(arr);
方案三
let keys = Object.keys(obj)
let values=Object.values(obj);
var arr=[];
for(let i=0;i<keys.length;i++){
//let keyStr = keys[i]//aa bb cc
// let valueStr = values[i];//关于会议说明&&不可为空 其他&&其他 访谈人物&&个人介绍
var objNew= {key:keys[i] };
//如果不含&& 则不添加value1和value2的值
if(values[i].indexOf('&&')!=-1){
var valuesInfo=values[i].split('&&');
objNew.value1=valuesInfo[0];
objNew.value2=valuesInfo[1];
}
arr.push(objNew);
}
console.log(arr);