gpt4 book ai didi

JavaScript - 在对象中插入和删除元素

转载 作者:行者123 更新时间:2023-12-04 17:55:06 25 4
gpt4 key购买 nike

我有一个对象。

var dl_items;

输入数据循环后:

dl_items[code] = itemObject;

我有一个数组:

dl_items : {
"code_A" : { "index" : 1, "status" : 2, "name" : A_data},
"code_B" : { "index" : 2, "status" : 0, "name" : B_data},
"code_C" : { "index" : 3, "status" : 1, "name" : C_data},
"code_D" : { "index" : 4, "status" : 2, "name" : D_data},
"code_E" : { "index" : 5, "status" : 4, "name" : E_data}
}

现在我想删除“dl_items[code_D]”并将其插入到“code_A”(索引 2)之后,结果如下:

 dl_items : {
"code_A" : { "index" : 1, "status" : 2, "name" : A_data},
"code_D" : { "index" : 4, "status" : 2, "name" : D_data},
"code_B" : { "index" : 2, "status" : 0, "name" : B_data},
"code_C" : { "index" : 3, "status" : 1, "name" : C_data},
"code_E" : { "index" : 5, "status" : 4, "name" : E_data}
}

在使用循环查找 code_D 的索引后,我尝试使用“删除”:

delete dl_items[code_D];

它已成功删除,但我如何将 code_D 插入他的新索引?

编辑:感谢大家帮助我更多地了解数组。

最佳答案

由于对象没有顺序,您需要将当前实现转换为数组:

var dl_items = [];

当你需要向数组中添加一个项目时:

dl_items.push({ code: code, item: itemObject });

现在,与您问题中的数组类似的数据是:

dl_items: [
{ code :"code_A", item: { index: 1, status: 2, name: "A_data" } },
{ code :"code_B", item: { index: 2, status: 0, name: "B_data" } },
{ code :"code_C", item: { index: 3, status: 1, name: "C_data" } },
{ code :"code_D", item: { index: 4, status: 2, name: "D_data" } },
{ code :"code_E", item: { index: 5, status: 3, name: "E_data" } },
]

为了将带有 code_D 的条目移动到带有 code_A 的条目之后,请使用以下命令:

var codeDEntry = dl_items[3];
dl_items = dl_items
.filter(function(entry) {
return entry !== codeDEntry;
})
.splice(1, 0, codeDEntry);

希望这对您有所帮助!

关于JavaScript - 在对象中插入和删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40930415/

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