gpt4 book ai didi

javascript - 如何更新数组列表排序?

转载 作者:行者123 更新时间:2023-12-02 23:34:41 26 4
gpt4 key购买 nike

如何更新数组顺序?

我有一个包含属性“order”的列表,我想在数组中添加一个对象。

{id: 1, name: 'abba', order: 0},
{id: 5, name: 'Bingo', order: 1}
{id: 2, name: 'James', order: 2},
{id: 3, name: 'Turbo', order: 3},
{id: 4, name: 'Nano', order: 4}

我想在数组中插入一个对象并更新顺序。该对象需要进入 id:2 和 id:3 之间,然后更新顺序。

最佳答案

您可以找到索引,拼接对象并从给定索引更新所有具有该索引的项目。

var array = [{ id: 1, name: 'abba', order: 0 }, { id: 5, name: 'Bingo', order: 1 }, { id: 2, name: 'James', order: 2 }, { id: 3, name: 'Turbo', order: 3 }, { id: 4, name: 'Nano', order: 4 }],
object = { id: 7, name: 'Giga', order: -1 },
insertBeforeId = 3,
index = array.findIndex(({ id }) => id === insertBeforeId);

array.splice(index, 0, object);

do {
array[index].order = index;
} while (++index < array.length);

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

关于javascript - 如何更新数组列表排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56328964/

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