gpt4 book ai didi

javascript - 深度赋值 JavaScript 对象字面量

转载 作者:数据小太阳 更新时间:2023-10-29 04:21:17 24 4
gpt4 key购买 nike

<分区>

我正在尝试为一个对象深度赋值。例如:

const errors = {}
if(errorOnSpecificField) {
// TypeError: Cannot read property 'subSubCategory' of undefined(…)
errors.subCategory.subSubCategory.fieldWithError = 'Error Message'
}

现在,没有 lodash,我可以:

const errors = {}
if(errorOnSpecificField) {
errors.subCategory = errors.SubCategory || {}
errors.subCategory.subSubCategory = errors.SubCategory.subSubCategory || {}
errors.subCategory.subSubCategory.fieldWithError = 'Error Message'
}

使用 lodash,我可以这样做:

const errors = {}
if(errorOnSpecificField) {
_.set(errors, 'subCategory.subSubCategory.fieldWithError', 'Error Message');
}

我尽量避免使用第三方库。有没有更优雅的解决方案,特别是现在 es2015 有对象解构。逆运算很简单:

  let {subCategory : {subSubCategory: {fieldWithError}}} = errors

深度对象分配的优雅解决方案是什么?谢谢!

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com