gpt4 book ai didi

javascript - 如何在此 lodash 循环中动态命名我的对象参数?

转载 作者:行者123 更新时间:2023-11-28 19:09:50 25 4
gpt4 key购买 nike

https://lodash.com/docs#find

var params = {};

_.forEach(n.tags, function(n, index) {
console.log(index);
index++

// For each tag, create new param.term1, term2, term3 etc...
params.term[index] = _.result(_.find(n.tags, function(term_id) {
return term_id;
}), 'term_id');
});

_.forEach 将循环遍历 n.tags(最多包含 3 个标签)。

我将 index++ 迭代为 1,因此我从 1 而不是 0 开始,以创建“term1”。

现在,下一部分是我尝试动态生成最多 3 个新的 params.term[i] 值。

params.term[index] = _.result(_.find(n.tags, function(term_id) {
return term_id;
}), 'term_id');

我想要得到的是以下内容:

params.term1 = 111;
params.term2 = 222;
params.term3 = 333;

当我尝试在此处动态设置参数名称时,我当前收到的错误是TypeError: Cannot set property '1' of undefined:params.term[index]

如何使用 _lodash 完成此任务?

最佳答案

您将 params.term 引用为现有数组,这就是您收到错误的原因。试试这个...

params["term" + index] = ....

这将为每个索引创建一个属性。您可以使用以下方式访问它

params["term1"]

或者...

params.term1

关于javascript - 如何在此 lodash 循环中动态命名我的对象参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30920941/

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