我有一个这种类型的对象数组:
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做到这一点吗?
答案 0 :(得分:2)
因为lodash map
将输入作为集合的第一个参数。您的response.data
已经是一个集合,并且您将其包装在另一个数组([response.data]
)中。
要修复它,请避免包装它:
var newObj = _.map(response.data, function (value) {
return {
value: "property : " + value.Name,
type: "my type is : " + value.Type,
active: false
};
});
请考虑JavaScript Array natively has map
method,所以你不需要lodash。您可以通过以下方式编写您的代码:
var newObj = response.data.map(function (value) {
return {
value: "property : " + value.Name,
type: "my type is : " + value.Type,
active: false
};
});
答案 1 :(得分:1)
var newObj = _.map(response.data, function (value) {
return {
value: "property : " + value.Name ,
type: "my type is : " + value.Type,
active : false
};
});