gpt4 book ai didi

javascript - 使用尾随对象的键和递减键删除对象对象中的键

转载 作者:行者123 更新时间:2023-12-02 06:50:11 25 4
gpt4 key购买 nike

这很难用语言解释,所以让我向您展示我所拥有的并从那里开始工作。

我有以下对象:

{
1: { name: 'Initial Step 1', stepNumber: 1 },
2: { name: 'Initial Step 2', stepNumber: 2 },
3: { name: 'Initial Step 3', stepNumber: 3 },
4: { name: 'Initial Step 4', stepNumber: 4 },
}

我想为此步骤执行删除功能,然后减少尾随键,以便获得以下结果:

{
1: { name: 'Initial Step 1', stepNumber: 1 },
2: { name: 'Initial Step 3', stepNumber: 2 },
3: { name: 'Initial Step 4', stepNumber: 3 },
};

我只是不确定实现我的 deleteStep 函数的最佳方式。

我已经实现如下:

export const deleteStep = (stepNumber, steps) => {
// What should I do here?
return steps;
};

谢谢!

最佳答案

您可以删除实际键并检查是否存在更多键,然后创建一个新属性并删除旧引用。

function deleteAndShift(object, key) {
delete object[key];
while (++key in object) {
object[key].stepNumber--;
object[key - 1] = object[key];
delete object[key];
}
}

var object = { 1: { name: 'Initial Step 1', stepNumber: 1 }, 2: { name: 'Initial Step 2', stepNumber: 2 }, 3: { name: 'Initial Step 3', stepNumber: 3 }, 4: { name: 'Initial Step 4', stepNumber: 4 } };

deleteAndShift(object, 2);

console.log(object);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 使用尾随对象的键和递减键删除对象对象中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47070735/

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