gpt4 book ai didi

javascript - 将多个动态键名附加到 javascript 对象的简写方法

转载 作者:行者123 更新时间:2023-11-29 10:51:20 25 4
gpt4 key购买 nike

我发现自己(可能)为自己做了更多的工作,因为必须一次一行地指定每个动态键。

我现在正在为现有对象添加额外的键:

create_request[('title_' + id)] = field_data[0];
create_request[('field_' + id)] = field_data[1];

我希望能够做的是:

jQuery.extend({('title_' + id) : field_data[0], ('field_' + id) : field_data[1]});

有没有比我现在做的更简单的方法(因为我希望的方法不起作用)?或者这只是语言的限制?

为清楚起见编辑:

好的,所以你可以像这样在 javascript 中创建一个对象:

{
a : 1
}

但这假设 a 是键的字符串值。如果我希望键成为变量的值怎么办?

我能做到:

the_object[variable] = 1

但是,如果我想对对象执行多个动态插入操作怎么办?有什么方便的方法吗?

最佳答案

如果我只能改变 JavaScript 的一件事,那就是对象字面量语法。我认为属性名称应该被评估为与属性值相同的表达式;我认为这样做的好处将消除在使用静态名称时被迫包含引用的属性名称的麻烦。但是,如果愿望是鱼……

使用方括号表示法是使用动态名称设置属性的唯一内置方法,但创建您自己的函数并不难,其输入与您希望使用的语法非常相似:

extendObject(obj, props) {
for (var i = 0; i < props.length; i+=2)
obj[props[i]] = props[i+1];
}

extendObject(create_request, ['title_' + id, field_data[0], 'field_' + id, field_data[1]]);

通过使用数组 而不是普通对象来保存新的属性名称和值,您可以使用动态名称。

(另请注意,即使在您的问题中使用方括号语法,您也通过包含多余的括号使其变得比需要的稍微复杂一些。)

关于javascript - 将多个动态键名附加到 javascript 对象的简写方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9629034/

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