lodashを使用すると、1つの配列のidが文字列で、もう一方のIDがa数?各配列のidが異なる型(文字列、数値)の場合、2つの配列をマージする
var a = [{
id: 1,
item: 1
}, {
id: 2,
item: 2
}, {
id: 3,
item: 4
}];
var b = [{
id: "1",
profile: 1
}, {
id: "2",
profile: 2
}];
これは私が試みたものです。両方の配列のIDが文字列である場合、または両方のIDが数値の場合、これはうまく動作します。 toString()またはparseIntを追加しても機能しないようです。
return _.map(a, function(obj) {
return _.assign(obj, _.find(b, {
id: obj.id
}));
});
すべてのことが数値結果の配列のIDを作成する方法はありますか?あなたが書いている様子、ids 1と2は文字列、id 3は数字です。 – JAck28
@ JAck28 '_.assign()'の出力を変数に代入し、 'id'の値をstringまたはintに変換してから' _.map() 'に返します:https://jsfiddle.net/ugL7z0oy/。 –
ありがとう、それは動作します。 – JAck28