将javascript对象转换为不同的格式
请原谅我不知道怎么做。我想我们必须使用映射函数,但我不明白 这是我的对象“数据”将javascript对象转换为不同的格式,javascript,angularjs,loops,object,dictionary,Javascript,Angularjs,Loops,Object,Dictionary,请原谅我不知道怎么做。我想我们必须使用映射函数,但我不明白 这是我的对象“数据” data [0]: name: 'Alex' sex: 'Male' new_joinee: false [1]: name: 'Anna' sex: 'female' new_joinee: true [2]: name: 'lester' sex: 'Male' new_joinee: true 我想把上面的对象转换成这个形式 da
data
[0]:
name: 'Alex'
sex: 'Male'
new_joinee: false
[1]:
name: 'Anna'
sex: 'female'
new_joinee: true
[2]:
name: 'lester'
sex: 'Male'
new_joinee: true
我想把上面的对象转换成这个形式
data
name: 'Alex', 'Anna', 'lester'
sex: 'Male', 'Female','Male'
new_joinee: false,true,true
有人能告诉我如何做到这一点吗 我假设您的数据是一个对象数组
var data = parse(data)
function parse(data){
var parsedData = { name: '', sex: '', new_joinee: ''};
data.forEach(function(item){
parsedData.names += item.name;
parsedData.sex += item.sex;
parsedData.new_joinee += item.new_joinee;
});
return parsedData;
}
我假设您的数据是一个对象数组
var data = parse(data)
function parse(data){
var parsedData = { name: '', sex: '', new_joinee: ''};
data.forEach(function(item){
parsedData.names += item.name;
parsedData.sex += item.sex;
parsedData.new_joinee += item.new_joinee;
});
return parsedData;
}
如果这是您的初始数据:
var initialData =
[
{name: 'Alex', sex: 'Male', new_joinee: false},
{name: 'Anna', sex: 'female', new_joinee: true},
{name: 'lester', sex: 'Male', new_joinee: true}
];
您可以通过以下方式将数据转换为其他内容:
var transformed = {
name: [],
sex: [],
new_joinee: []
};
initialData.forEach(function (element) {
transformed.name.push(element.name);
transformed.sex.push(element.sex);
transformed.new_joinee.push(element.new_joinee);
});
结果
{
name: ['Alex', 'Anna', 'lester'],
sex: ['Male', 'female', 'Male'],
new_joinee: [false, true, true]
}
如果这是您的初始数据:
var initialData =
[
{name: 'Alex', sex: 'Male', new_joinee: false},
{name: 'Anna', sex: 'female', new_joinee: true},
{name: 'lester', sex: 'Male', new_joinee: true}
];
您可以通过以下方式将数据转换为其他内容:
var transformed = {
name: [],
sex: [],
new_joinee: []
};
initialData.forEach(function (element) {
transformed.name.push(element.name);
transformed.sex.push(element.sex);
transformed.new_joinee.push(element.new_joinee);
});
结果
{
name: ['Alex', 'Anna', 'lester'],
sex: ['Male', 'female', 'Male'],
new_joinee: [false, true, true]
}
如果项目中有下划线:
var keys = _.keys(myObj)
var foo = {
name: _.pick(myObj, 'name'),
sex: _.pick(myObj, 'sex'),
newJoinee:_.pick(myObj, 'new_joinee')
}
_.each(keys, function(key) { console.log(key + ' ' + foo[key].join(', ')) })
如果项目中有下划线:
var keys = _.keys(myObj)
var foo = {
name: _.pick(myObj, 'name'),
sex: _.pick(myObj, 'sex'),
newJoinee:_.pick(myObj, 'new_joinee')
}
_.each(keys, function(key) { console.log(key + ' ' + foo[key].join(', ')) })
结果:
out ==
{ name: [ 'Alex', 'Anna', 'lester' ],
sex: [ 'Male', 'female', 'Male' ],
new_joinee: [ false, true, true ] }
结果:
out ==
{ name: [ 'Alex', 'Anna', 'lester' ],
sex: [ 'Male', 'female', 'Male' ],
new_joinee: [ false, true, true ] }
你想重新格式化对象,还是想在UI上以不同的方式显示它?@Daniel_L-我查看了地图,减少和过滤函数,但没有找到解决方法。@PankajParkar-我需要重新格式化它,以便在ag网格中正确显示。蛮力:只需迭代对象并重新格式化它。你想重新格式化对象,还是想在UI上以不同的方式显示它?@Daniel_L-我检查了地图,减少和过滤函数,但没有找到解决方法。@PankajParkar-我需要重新格式化它,以便在ag网格中正确显示。蛮力:只需迭代对象并重新格式化它。嗨,Zohaib-我在声明数据时出错。forEach不是函数抱歉,我重写了该变量,还忘了在函数定义中添加参数Hi Zohaib-我在声明数据时出错。forEach不是函数抱歉,我重写了该变量,还忘了在函数定义中添加参数