大きな問題があります。 2つのJSONファイルの間に等しい部分を削除する関数を作成したいと思います。関数の出力は同じ構造を持ちますが、 '等しい部分'はありません。2つのJSON間で等しいキーを削除します
私はDOMツリーのJSONバージョンを持っていると私はページ間の唯一の違いを維持したいの例(NAVフッターを削除...)
例
const a = {
id: '1',
child: [
{
id: '2',
child: [
{
id: '1'
},
{
id: '2'
}
]
},
{
id: '3',
child: [
{
id: '1'
},
{
id: '5'
}
]
}
]
}
と
const b = {
id: '1',
child: [
{
id: '2',
child: [
{
id: '1'
},
{
id: '4'
}
]
},
{
id: '3',
child: [
{
id: '1'
},
{
id: '4'
}
]
}
]
}
機能付き
diff(a, b)
この結果
{
id: '1',
child: [
{
id: '2',
child: [
{
id: '2'
}
]
},
{
id: '3',
child: [
{
id: '5'
}
]
}
]
}
私は私がこれをどのように行うのですか再帰関数に基づいて
const diff = (a, b) => {
if (Array.isArray(a)) {
}
if (typeof a === 'object') {
// ...
extract(a.child, b.child);
}
}
これを作成しましたか? npmパッケージはありますか?またはJSONパスを使用していますか?私は同じ構造を持つ関数の出力で2つのJSONファイルの間に等しい 'パーツ'を削除する関数を作成したいと思いますが、 '等しい部分'はありません。
からコードで編集します。 – nicooga
私は同じ部分を削除したいが、このパッケージは私に違いを表示する –
ちょうどFYIしかし、それらはjsonファイルではない、それらはjavascriptオブジェクトです。 JSONはJavaScript Object Notationであり、JavaScriptオブジェクトを文字列として転送または保存するために使用されます。 – Marie