我一直在努力处理这段代码。
我有一个类似于的对象
var obj = {
Name: 'Test',
Id: 1,
Address: 'addr'
}
一个类似于的数组
var arr = [1,0,2];
我希望用第二个中给出的索引对对象的属性进行排序。
结果应该是这样的:
var obj = {
Id: 1,
Name: 'Test',
Address: 'addr'
}
我真的很期待你的回复。
您无法可靠地设置对象中属性的顺序。您需要重新思考解决此问题的方法,以便由数组而不是对象来处理顺序。然后,该数组可以用于编写按特定顺序访问属性的代码,即使对象实际上没有按该顺序访问属性。
例如:
const columns = ['Id', 'Name', 'Address'];
const data = [{
Name: 'Test',
Id: 1,
Address: 'addr'
}, {
Address: 'addr2',
Id: 1,
Name: 'Test2',
}];
let csv = columns.join(',') + 'n';
data.forEach(obj => {
const row = columns.map(propertyName => {
return obj[propertyName];
});
csv = csv + row.join(',') + 'n'
})
console.log(csv);