gpt4 book ai didi

javascript - 帮助向对象文字添加新属性

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

为什么会返回:tracker.paramsToTrack 未定义

var tracker = {};
var paramsToTrack = ['a', 'b', 'c', 'd', 'e'];
for (p in paramsToTrack)
{
if(params[paramsToTrack[p]])
{
tracker.paramsToTrack[p] = params[paramsToTrack[p]];
}

}
console.log(tracker);

如果存在“a”到“e”,我基本上是在检查参数。如果是这样,将它们添加到跟踪器对象中,如下所示:

tracker.a = 东西

tracker.b = 东西

关于我在这里做错了什么的想法?

最佳答案

tracker.paramsToTrack[p]

应该是

tracker[paramsToTrack[p]]

另外,不是您问的,您可能想要消除冗余数组查找:

var tracker = {};
var paramsToTrack = ['a', 'b', 'c', 'd', 'e'];
var paramName;
for (p in paramsToTrack)
{
paramName = paramsToTrack[p];
if(params[paramName])
{
tracker[paramName] = params[paramName];
}

}
console.log(tracker);

或者更好的是,如果您在现代 Javascript 环境中工作:

paramsToTrack.forEach(function (paramName) {
if(params[paramName])
{
tracker[paramName] = params[paramName];
}
});

关于javascript - 帮助向对象文字添加新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432508/

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