为了账号安全,请及时绑定邮箱和手机立即绑定

在 JavaScript 中改变对象

在 JavaScript 中改变对象

qq_花开花谢_0 2021-10-29 15:12:26
有用的提示:请考虑阅读底部的“目的是什么”部分,因为我什至可能没有最好的方法开始。谢谢。嘿!所以我有这个:parent: {    child1: {        prop: 'hi there'    },    child2: {        prop: 'hey there'    }}我想运行一些值映射魔法来让它变成这样:newObj: {    child1: 'hi there',    child2: 'hey there'}我希望映射函数(或此过程的正确名称)本质上采用prop中每个子项的值parent,并将该值设置value为 a的部分,该部分key带有与 on 相同的名称(parent如果有意义的话)。每个子对象上的属性是否总是命名为prop?是的。为什么不从一开始就这样定义呢?因为除了prop我需要使用的属性之外,我还有其他属性。目的是什么?我正在使用 Laravel。当我将其发送到服务器进行验证时,我必须验证child1.prop而不是child1,这意味着错误消息发送回:child1.prop :“有些东西是无效的”......我希望它是child1:"有些东西是无效的"'如果有更好的方法,请提出建议。
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

只需添加@Chris G 的答案,其他用户就可以轻松找到它:


const parent = {

  child1: {

    prop: 'hi there'

  },

  child2: {

    prop: 'hey there'

  }

};


const newObj = Object.entries(parent).reduce((a, [key, { prop }]) => ({ ...a, [key]: prop }), {});


out.textContent = JSON.stringify(newObj);


查看完整回答
反对 回复 2021-10-29
  • 1 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信