**已关闭。**此问题需要debugging details。目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
3天前关闭。
此帖子已于2天前编辑并提交审核,未能重新打开帖子:
需要细节或清晰度通过editing this post添加细节并澄清问题。
Improve this question的
非常感谢您的回答。根据问题,您的回答是正确的。由于我的错误,问题不完整。合并用户名时,必须收集支付金额字段。我正在重新组织代码。
const array =[
{
name: 'Iphone',
date: '01.01.2024',
img: 'img/iphone.png',
cost: 2500,
paid: 500,
username:"Joe",
},
{
name: 'Samsung',
date: '01.01.2024',
img: 'img/samsung.png',
cost: 2000,
paid: 200,
username:"Adam",
},
{
name: 'Samsung',
date: '01.01.2024',
img: 'img/samsung.png',
cost: 2000,
paid: 100,
username:"Alvin",
}
]
字符串
这是来自我的数据库的数据。有了新的安排,我想合并他们如下。我需要在支付字段的值求和。
const array =[
{
name: 'Iphone',
date: '01.01.2024',
img: 'img/iphone.png',
cost: 2500,
paid: 500,
username:"Joe",
},
{
name: 'Samsung',
date: '01.01.2024',
img: 'img/samsung.png',
cost: 2000,
paid: 300, <--- paid sum from 2 samsung array
usernames:[
{username : "Adam"},
{username : "Alvin"}
]
}
]
型
4条答案
按热度按时间tkclm6bt1#
字符串
这段代码使用reduce函数遍历初始数组并创建一个新数组通过检查累加器(acc)中是否已经存在具有相同'name'、'date'、'img'和'cost'的对象,以所需格式创建(resultArray)。如果存在,则将'username'推送到'usernames'数组。否则,它会创建一个新对象,并使用当前的“username”替换“usernames”数组。
eagi6jfj2#
为了提高性能,构建一个属性值树,其中叶子对于除
username
之外的所有字段都是唯一的。代码支持任意数量的属性,并且可以将数组属性名称作为参数放入函数中。个字符
型
zed5wv103#
首先,要有独特的电话号码。
然后,对于每个名字,找到匹配的电话条目,并将所有属性提取到一个新对象中。然后,添加该电话名称的所有用户名。
最后,如果有多个username,则删除结果数组中每个对象的username属性,以便在顶层只有usernames属性。否则,仅保留username属性并删除usernames属性。
字符串
b5buobof4#
我建议使用一个简单的数组来表示用户名。可以接受,一个可能的解决方案可能看起来像这样:
字符串