2017-03-03 9 views
0

中に新しいフィールドを追加します。lodash:私はその型のオブジェクトの配列を持っている._map

response.data = [{Name = "name1", Type = "text"}, {Name = "name2", Type = "text"}...] 

私はすべてのオブジェクトにプロパティを追加し、開始を行うにしようとしています。

は、私が試した:

var newObj = _.map([response.data], function (value) { 
       return { 
       value: "property : " + value.Name , 
       type: "my type is : " + value.Type, 
       active : false 
       }; 
    }); 

しかし、それはあなたがlodashでこれを行う方法を知って

を行いプロパティを追加しないのですか?

答えて

2

lodash mapは、第1引数としてコレクションを取り入れているためです。 response.dataは既にコレクションであり、別の配列([response.data])内にラップしています。

それをラップしないよう、それを修正するには:

var newObj = _.map(response.data, function (value) { 
    return { 
     value: "property : " + value.Name, 
     type: "my type is : " + value.Type, 
     active: false 
    }; 
}); 

してくださいは、あなたがlodashを必要としないので、JavaScript Array natively has map methodことを検討してください。コードを次のように書くことができます:

var newObj = response.data.map(function (value) { 
    return { 
     value: "property : " + value.Name, 
     type: "my type is : " + value.Type, 
     active: false 
    }; 
}); 
1
var newObj = _.map(response.data, function (value) { 
       return { 
       value: "property : " + value.Name , 
       type: "my type is : " + value.Type, 
       active : false 
       }; 
    }); 
関連する問題