首页 > 解决方案 > 使用数组更新javascript中的存储数组

问题描述

所以我有一系列存储产品。

[
  {
    sku: "RED",
    _id: "123"
  },
  {
    sku: "BLUE",
    _id: "abc"
  }
]

我还在前端复制了这个数组,允许用户编辑。当用户编辑此数组时,将确定保存的数组中的对象是删除还是添加。最简单的解决方案是用前端数组替换保存的数组,但是,保存的数组还包含我不想丢失的其他数据,除非它被直接编辑。

因此,例如,如果我是{ sku: "BLUE", _id: "abc" }从前端数组中删除的对象,我想遍历“已保存”数组并删除包含蓝天对象的对象。

如果用户要创建一个新对象,例如绿色 sku 对象:

[
  {
    sku: "RED",
    _id: "123"
  },
  {
    sku: "BLUE",
    _id: "abc"
  },
  {
    sku: "GREEN",
    _id: "jhg"
  }
]

绿色 Sku 对象将应用于已保存的数组。

由于保存的数组存储在数据库中,我将不得不使用 javascript 承诺(等待 deleteProduct(_id) 或等待 createProduct(_id))

使用 es6 javascript 实现这一目标的最佳方法是什么。

标签: javascriptarraysecmascript-6

解决方案


半完成 - 抱歉,但可能有帮助?

拿两个数组说 -

let frontEnd = [
  {
    sku: "RED",
    _id: "123"
  },
  {
    sku: "BLUE",
    _id: "abc"
  }
]

let backEnd = [
  {
    sku: "RED",
    _id: "123"
  },
  {
    sku: "BLUE",
    _id: "abc"
  },
  {
    sku: "GREEN",
    _id: "jhg"
  }
]

然后使用 spad oportator 将两者结合起来 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

let combined = [...frontEnd, ...backEnd]

然后遍历该数组以删除您可能找到的任何重复项,然后保存组合版本?


推荐阅读