let obj = { a: 1, b: 2, c: 3 }
var aa=Object.values(obj);//[1, 2, 3]
console.log(aa);
var arr = Object.entries(obj);
console.log(arr);
//0:(2) ["a", 1]
//1:(2) ["b", 2]
//2:(2) ["c", 3]
//length:3
Object.values 只打印键
Object.entries 可以打印键跟值
我们用map来实现看一下:
let obj = { a: 1, b: 2, c: 3 }
let result=Object.entries(obj).map(item=>{
return{
'text':item[0],
'value':item[1]
}
})
console.log(result);
打印结果如下:
我们用reduce来实现:
let arr=[];
let result=Object.entries(obj).reduce(function(pre,cur){
let bb= {
'text':cur[0],
'value':cur[1]
}
arr.push(bb);
},[])
console.log(arr);
打印结果如下
链式写法
let obj = { a: 1, b: 2, c: 3 }
let rest = Object.entries(obj).map(val => {
return {
text: val[0],
value: val[1]
}
}).reduce((pre,cur)=>{
pre[cur['text']]=cur.value
return pre
},{})
console.log(rest);