我有一个像这样的对象:
cols : [Object { name="firstname", type="string"}, Object { name="lastname", type="string"}, Object { name="valid", type="checkbox"} ....]
我需要从该对象创建像这样的对象:
[
{
data: 'firstname'
},
{
data: 'lastname'
},
{
data: 'valid',
type: checkbox
}
]
唯一的规则是,如果在第一个对象中输入type =“ string”,则只需忽略它(检查我的第二个对象)。当然,这只是一个例子,所以我需要一些自动的东西。
我正在尝试使用此功能:
var headers = data.cols.map(function (el, index) {
return el.name;
});
在这里,我可以检索元素el.name
和el.type
。但是我不知道如何创建该特定对象?我试过了splice
,push
...,但创建多行等。我不知道。
您可以使用map
函数本身,但是您需要创建一个新对象并根据条件添加所有字段,如下所示
var data = [{
name: 'firstname',
type: 'string'
}, {
name: 'lastname',
type: 'string'
}, {
name: 'valid',
type: 'checkbox'
}];
var result = data.map(function (currentObject) {
var object = {
// Create an object with `name` property
data: currentObject.name
};
if (currentObject.type !== 'string') {
// create `type` property in the `object`, only if type is not `string`
object.type = currentObject.type;
}
return object;
});
console.log(result);
[ { data: 'firstname' },
{ data: 'lastname' },
{ data: 'valid', type: 'checkbox' } ]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句