オブジェクトの配列をループし、各オブジェクトのidがキーと値のペアのオブジェクトに含まれているかどうかを確認しています。 idがキー値のペアに含まれている場合は、その値を新しいオブジェクトプロパティとして割り当てています。Lodash:オブジェクトの配列をループしてキー/値と比較する
var arrayOfObjects = [
{
id: 1,
name: "bob"
},
{
id: 2,
name: "sue"
}
];
そして私はまた、キーと値のペアのオブジェクトを持っています:
それでは、私は、オブジェクトの配列を持っているとしましょう、私は私のarrayOfObjectsをループにしたい
var keyValuePairs = { 1: "admin", 2: "user" }
、およびかどうかを確認idは私のkeyValuePairsにあります。もしそうなら、私はそれはこのように見えるように私のarrayOfObjectsに新しいプロパティを追加したい:
var arrayOfObjects = [
{
id: 1,
name: "bob",
title: "admin"
},
{
id: 2,
name: "sue",
title: "user"
}
];
私はこれを試してみたが、それは私のarrayOfObjectsに「タイトル」プロパティを追加されていません。どのように私はロダッシュを使用してこれを行うことができますか?
return _.map(arrayOfObjects, function(obj) {
if(obj.id in keyValuePairs)
{
obj.title = keyValuePairs[obj.id];
}
return obj;
});