gpt4 book ai didi

javascript - 按名称访问 JavaScript 子属性

转载 作者:行者123 更新时间:2023-11-28 02:26:00 25 4
gpt4 key购买 nike

我编写了以下 JavaScript 函数(较大“类”的一部分),以帮助确保使用该对象的任何人都将属性值存储在“values”属性中。

function _updateAttributes(attribute, value) {
_attributes[attribute] = { values: { value: value }};
}

它对于平面结构工作得很好,但当我开始尝试将它用于子属性时就会崩溃。

运行以下代码后:

myEntity.updateAttribute('name', 'Frankenstein');
myEntity.updateAttribute('name.source', 'John Doe');

我想要以下结构:

{
"attributes": {
"name": {
"values": {
"value": "Frankenstein"
},
"source": {
"values": {
"value": "JohnDoe"
}
}
}
}
}

相反,它的结果是这样的:

{
"attributes": {
"name": {
"values": {
"value": "Frankenstein"
}
},
"name.source": {
"values": {
"value": "JohnDoe"
}
}
}
}

是否有任何干净的方法来编写此 JavaScript,或者我将面临拆分字符串并手动构建结构的情况?

注意:我意识到即使首选结构也有点奇怪,但我映射到的 Java 对象需要这种格式,所以我这里没有任何选项。

最佳答案

您必须解析字符串(parse 有点强,只是一个带循环的 split('.'))。

但坦率地说,更简洁的方法就是:

myEntity.name = {values: 'Frankenstein'};
myEntity.name.source = {values: 'John Doe'};

关于javascript - 按名称访问 JavaScript 子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14943070/

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