gpt4 book ai didi

javascript - 对象正在成为 Javascript 中的数组

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

这里创建了一个对象:

var versionsLegend={}, versionsCounter=1, currentVersionNum=0;

然后在一个循环中,应该将值设置为零值 currentVersionNum取决于条件或使用计数器的其他值 versionCounter

问题在于,计数器按预期设置,但当条件为真且设置 0 值时,它将对象转换为数组并清除之前的数据。

for (var i = 0; i < success.data.data.length; i++) {
if (success.data.data[i][0].Items.selected) {
$scope.views.series.push(success.data.data[i][0].Items.id);
versionsLegend = {
[success.data.data[i][0].Items.id]: currentVersionNum
};
} else {
versionsLegend = {
[success.data.data[i][0].Items.id]: versionsCounter
};
versionsCounter++;
}
}

在此行之前的日志中:

versionsLegend={[success.data.data[i][0].Items.id]:currentVersionNum};

我得到 Object { 12: 1 }Object [ <9 empty slots>, 0 ] 之后

我省略了代码中与问题无关的部分。

尝试使用 .toString()在对象键上 - 无济于事。

最佳答案

执行 versionsLegend={...}; 将 versionsLegend 的值设置为一个新对象。

改用 versionsLegend[key] = value —— 这将在当前 versionsLegend 对象上设置属性。

关于javascript - 对象正在成为 Javascript 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48081518/

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