Object.entries 拆分功能奇怪?

Object.entries splitting function strangely?

我有一个这样的对象:

{
 'icon':'info',
 'size':'small',
 'content':'label'
}

我正在尝试将其拆分为一组新对象,其中每个对象有一个 属性:

{'icon':'info'}, {'size':'small'} , {content':'label}

我想我可以像这样使用 Object.entries 来做到这一点:

Object.entries(controlsObject).map(prop => ({ prop }))

但这对我来说真的行不通 - 还有其他方法吗?我哪里错了?

您可以使用计算的 属性 名称来构造对象:

const obj = {
 'icon':'info',
 'size':'small',
 'content':'label'
}

const res = Object.entries(obj).map(e => ({ [e[0]]: e[1] }))
console.log(res)

试试这个:

Object.entries(x).map(([k, v]) => ({ [k]:v }))

P.S k 是键,v 是值

您应该这样做:

Object.entries(controlsObject).map(([key, value]) => ({ [key]: value }))

您可以使用 Object.entries 并减少:

来实现此目的
const t = {
 'icon':'info',
 'size':'small',
 'content':'label'
}

function objToArr(obj){
  return Object.entries(obj).reduce((acc, curr)=>{
    return [...acc, {[curr[0]]:curr[1] }]  
  },[])
}


console.log(objToArr(t)) 

[ { icon: 'info' }, { size: 'small' }, { content: 'label' } ]