首页 > 解决方案 > 从输入中选择数据

问题描述

我的应用程序使用具有不同值的选择,也可用作搜索。现在,如果我在插入 2 个名称后单击保存,我会得到一个包含 2 个对象的数组。之后,如果我只插入 1 个名称并单击保存,则先前的数组将更改为仅由 1 个元素组成的新数组,实际上我删除了第一个数组,但我不想丢失先前的数组。我想保留以前的数组,如果我要添加一个其中不存在的值,我想添加新值,事实上我将有一个包含 3 个对象的数组。如何解决这个问题?

链接到我的应用程序:https ://codesandbox.io/s/affectionate-ritchie-oxhuk

标签: reactjs

解决方案


基本上你需要做的是在每次保存按钮点击后保存(即连接数组)并只保存唯一的项目。

如果你熟悉 ES6,你可以使用JavaScript 的Set对象。它是一个从数组中选择独特项目的工具。

Array.from(new Set(savedItems.concat(selectedItems)).values())

您可以先连接两个数组,然后将它们设置为 Set 以删除重复项,然后将它们转换回原始数组。

https://codesandbox.io/s/objective-pascal-5fo3n


推荐阅读