如何比较两个数组并删除、更新数组元素

时间:2021-03-12 08:36:08

标签: javascript arrays

我有两个对象数组,例如

a = [
            {chargeType: "Accounting Charges", ct: 6, st: 6, it: 12},
            {chargeType: "Commission", ct: 6, st: 6, it: 12},
            {chargeType: "Processing Charges", ct: 6, st: 6, it: 12},
            {chargeType: "Verification Charges", ct: 6, st: 6, it: 12},
            {chargeType: "Application Fees", ct: 6, st: 6, it: 12},
            {chargeType: "Legal Charges", ct: 6, st: 6, it: 12},
            {chargeType: "Bank Charges", ct: 6, st: 6, it: 12},
]

b = [
                {chargeType: "Accounting Charges", ct: 6, st: 6, it: 12},
                {chargeType: "Commission", ct: 6, st: 6, it: 12},
                {chargeType: "Processing Charges", ct: 7, st: 7, it: 14},
                {chargeType: "Verification Charges", ct: 6, st: 6, it: 12},
                {chargeType: "Application Fees", ct: 6, st: 6, it: 12},
                {chargeType: "Legal Charges", ct: 6, st: 6, it: 12},
]

1.now 通过比较两个数组 如果数组 b 中缺少任何电荷,则在数组 a 中添加一个布尔属性。就像在数组 A 中,银行费用记录存在,但它在数组 B 中缺失。因此,我必须向数组 A 中的银行费用对象添加一个属性。

  1. 在数组 B 中,如果更新了任何记录,则应将这些值复制到数组 A 中。就像在数组 B 中处理费用记录 ct,st 一样,它的值已更新,这些值应在数组 A 中更新。

任何人都可以帮助实现这一目标

1 个答案:

答案 0 :(得分:0)

根据要求

<块引用>

1.now 通过比较两个数组 如果数组 b 中缺少任何电荷,则在数组 a 中添加一个布尔属性。就像在数组 A 银行收费 记录在那里,但它在数组 B 中丢失。所以,我必须添加一个 数组 A 中该银行费用对象的属性。 在数组 B 中,如果更新了任何记录,则应将这些值复制到数组 A 中。就像在数组 B 中处理费用记录 ct,st 一样 值被更新,这些值应该在数组 A 中更新。

这可以用一行来完成:

Object.assign(x,y) // x <-- what was in x, updated with what was in y

我正在更改 a 中的一个值,以表明它已使用来自 b 的内容进行更新

a = [
            {chargeType: "Accounting Charges", ct: 111111111111, st: 6, it: 12},
            {chargeType: "Commission", ct: 6, st: 6, it: 12},
            {chargeType: "Processing Charges", ct: 6, st: 6, it: 12},
            {chargeType: "Verification Charges", ct: 6, st: 6, it: 12},
            {chargeType: "Application Fees", ct: 6, st: 6, it: 12},
            {chargeType: "Legal Charges", ct: 6, st: 6, it: 12},
            {chargeType: "Bank Charges", ct: 6, st: 6, it: 12},
]
b = [
                {chargeType: "Accounting Charges", ct: 6, st: 6, it: 12},
                {chargeType: "Commission", ct: 6, st: 6, it: 12},
                {chargeType: "Processing Charges", ct: 7, st: 7, it: 14},
                {chargeType: "Verification Charges", ct: 6, st: 6, it: 12},
                {chargeType: "Application Fees", ct: 6, st: 6, it: 12},
                {chargeType: "Legal Charges", ct: 6, st: 6, it: 12},
]

Object.assign(a,b)

console.log(a)

如果您想保持 a 不变并创建一个新对象:

c = Object.assign({},a,b);
相关问题