私は以下のような配列を持っています。Javascriptマージ配列が元の配列に変更されます
[{
name: 'a',
color: 'red',
children:
[{
name: 'a1',
color: 'red',
children:
[{
name: 'a11'
}]
},
{
name: 'a2'
color: 'red',
}]
},
{
name: 'b'
color: 'red',
}]
ユーザーはフロントエンドを変更して、次のように配列の新しい構造を取り戻します。
[{
name: 'a'
color: 'red',
children:
[{
name: 'a1'
color: 'red',
},
{
name: 'a2'
color: 'red',
children:
[{
name: 'a21',
color: 'yellow'
}]
}]
},
{
name: 'new'
color: '',
},
{
name: 'a11'
color: 'red',
},
{
name: 'b'
color: 'red',
}]
ご覧のとおり、一部のオブジェクトが移動して一部が追加されています。変更を元の配列にマージし、変更されていないオブジェクトは変更しないでください。
このリストは角度で表示されるので、元の配列を新しい配列に置き換えると、配列全体が再びレンダリングされます(この配列は大量になります)。
私はlodashでマージ機能を使用しようとしましたが、名前が "b"のオブジェクトのため、 "new"という名前のオブジェクトに問題が発生しました。
これを達成する最も効率的な方法は何ですか?
手動で行う必要があります。 –
変更の背景に論理を教えてください。 –
ユーザーがアイテムを追加するときに、新しいオブジェクトを配列自体にプッシュできませんか? – Pavan