gpt4 book ai didi

javascript - 将两个唯一对象推送到一个空数组会导致一个包含 2 个等效对象的数组

转载 作者:行者123 更新时间:2023-12-03 16:50:19 25 4
gpt4 key购买 nike

我有以下内容:

var params = {status: [69,71]};

var getTasks = function(params) {
if (params.status.constructor === Array) {
var statuses = params.status;
var newParams = [];

for (var i = 0; i < statuses.length; i++) {
params.status = statuses[i];
newParams.push(params);
}
console.log(newParams);

}
// else {
// ...
// }
};

调用 getTasks(params)newParams 记录为:

[{状态:71},{状态:71}]

我希望这会注销

[{状态:69},{状态:71}]

我在这里错过了什么?

最佳答案

您将同一 Object 推送两次,Object 的最新更改可见。

var obj;
for (var i = 0; i < statuses.length; i++) {
// construct obj as desired
obj = {}; // notice this new object is created inside the loop
obj.status = statuses[i];
// push to your array
newParams.push(obj);
}

关于javascript - 将两个唯一对象推送到一个空数组会导致一个包含 2 个等效对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31226306/

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