我正在为一个大型美食博客创建一个食谱应用程序(在 React Native 中)。在该应用中,还有一个额外的工具:交互式杂货清单。
当您打开食谱时,您可以按一个按钮来填充此杂货清单。例如。如果您需要 1 个南瓜和 2 磅黄油,只需按一下按钮,应用就会自动在杂货清单中创建 2 个项目:“1 个南瓜”和“2 磅黄油”。
我面临的问题:假设您想在杂货清单中添加第二个食谱,而这个食谱也需要 1 个南瓜。现在,该应用程序将再次推送一个项目“1 个南瓜”,因此您现在在杂货列表中有 2 个项目“1 个南瓜”。我不想要 tis:我希望这些项目被合并,所以它成为一个说“2 个南瓜”的项目。
我真的不知道如何开始。该网站是一个 Wordpress 网站,我正在使用插件高级自定义字段为杂货清单创建一个额外的字段。此字段在 REST API 中公开,仅供应用程序使用。这是一个文本字段,每一行代表杂货清单上的一个项目。
这是我想要合并以创建合并数组的 3 个数组的示例:
const arr1 = [
'1 pumpkin',
'2 pounds of butter',
'salt'
];
const arr2 = [
'1 pumpkin',
'salt'
];
const arr3 = [
'2 pumpkins',
'1 jar of peanut butter',
'1 pound of butter'
];
// mergeArrays() is a custom function I need to create
// this function should detect the different items of the
// groceries list
const mergedArray = mergeArrays(arr1, arr2, arr3);
// resulted array
// mergedArr = [
// '3 pumpkins',
// 'salt',
// '3 pounds of butter',
// '1 jar of peanut butter'
// ];
请注意,这只是一个示例。我无法对南瓜这个词进行“硬编码”,因为在现实生活中,一个食谱可能需要 1 万种不同的产品,而我无法对它们全部进行硬编码。