删除对象后,更新数组中对象中的每个项目

时间:2020-12-30 11:32:25

标签: javascript arrays mongodb

所以我最近做了一个不和谐的机器人,我做了一个警告系统,所以基本上,我有我的对象(这是在 mongodb 顺便说一句):

{
_id: '0123',
warns: [
 {
  pos: 1,
  reason: 'apples r blue'
 },
 {
  pos: 2,
  reason: 'apples r red'
 }
]}

所以数组更长但我想保持简短,所以基本上每次删除数组中的对象时,我都希望更新每个pos,例如,我删除

 {
  pos: 1,
  reason: 'apples r blue'
 }

我想要第二个对象

 {
  pos: 2,
  reason: 'apples r red'
 }

pos 将更新为 1,现在这看起来很简单,但我想为所有对象执行此操作,但可以说我现在有这样的数组:

warns: [
 {
  pos: 1,
  reason: 'apples r blue'
 },
 {
  pos: 2,
  reason: 'apples r red'
 },
 {
  pos: 3,
  reason: 'apples r red'
 },
 {
  pos: 4,
  reason: 'apples r red'
 },
 {
  pos: 5,
  reason: 'apples r red'
 }
]}

假设我突然删除了 pos 为 3 的对象,然后我还希望更新 4 和 5(4 变为 3,5 变为 4,依此类推),我知道如何更新对象,但不能想到一个方法是现在凌晨 5 点,我累了,所以我希望有人能提出一个方法

1 个答案:

答案 0 :(得分:0)

好吧,既然你只想知道如何更新数组中的值,这里是:

array.map((value) => {
  value.pos--;
  return value;
};
相关问题