2つのjson配列をオブジェクトとしてマージしようとしています。両方ともjsonの場合はplunkr fileを参照してください。私は予想される最終的な結果の配列idを正常に取得しましたが、以下のように予想されるjsonをどのように形成するのか分かりません。私はこの目的のためにアンダースコアを使用しています。結合と交差に基づいて2つのjson配列オブジェクトをマージする
注:オブジェクトがnewJsonに存在し、currentJsonに存在しない場合、マージ後、デフォルトではinactive
状態になります。
正しいアプローチを使用しているかどうかはわかりません。
var newJsonID = _.pluck(newJson, 'id');
var currentJsonID = _.pluck(currentJson, 'id');
var union = _.union(newJsonID, currentJsonID);
var intersection = _.intersection(currentJsonID, newJsonID);
var final = _.difference(union, _.difference(currentJsonID, intersection);
期待最終的な結果:
[
{
"id": "12",
"property1Name": "1"
"status": "inactive"
},
{
"id": "11",
"property1Name": "1"
"status": "inactive"
},
{
"id": "10",
"property1Name": "1"
"status": "inactive"
},
{
"id": "9",
"property1Name": "1"
"status": "active"
}
]
どこからステータスを取得できますか?私は同じ「id」を意味しますか? –
@NinaScholzあなたは最終的な予期した結果からステータスをどこで得るのですか? newJson内のidがcurrentJsonに存在する場合は、同じidのcurrentJsonステータスを取得し、それ以外の場合はデフォルトでinactiveにします。 – vincentsty
あなたはアンダースコアソリューションに興味がありますか? –