Arrays 数组到字符串使用嵌套对象和AngularJS中的ngCSV
我处理的对象数组如下所示:Arrays 数组到字符串使用嵌套对象和AngularJS中的ngCSV,arrays,angularjs,csv,Arrays,Angularjs,Csv,我处理的对象数组如下所示: recordlist.push( { date: '', time: '', comment: '', arrival: '', } ng-repeat="record in filteredRecords = (recordlist | filter:dateFilter | filter: search )" 我将对其进行过滤并在前端显示,如下所示: recordlist.pu
recordlist.push(
{
date: '',
time: '',
comment: '',
arrival: '',
}
ng-repeat="record in filteredRecords = (recordlist | filter:dateFilter | filter: search )"
我将对其进行过滤并在前端显示,如下所示:
recordlist.push(
{
date: '',
time: '',
comment: '',
arrival: '',
}
ng-repeat="record in filteredRecords = (recordlist | filter:dateFilter | filter: search )"
此filteredRecords是我在ngCSV中用于创建文件的变量:
<button ng-csv="filteredRecords"></button>
由于ngCSV不具备处理嵌套对象的能力,我想我必须在将数据添加到CSV文件之前对其进行操作
我的想法是将注释数组转换为字符串,在导出时将其写入CSV,然后在导入时再次将其转换为数组
比如:
comments: 'message: test, commenttime:test / message: test2, commenttime: test2 / ...'
$scope.MappedData = $scope.data.map(function (obj) {
var reformattedObj = {};
for (var i = 0; i < obj.comments.length; i++) {
reformattedObj['comment' + [i]] = obj.comments[i];
}
reformattedObj['date'] = obj.date;
reformattedObj['time'] = obj.time;
reformattedObj['arrival'] = obj.arrival;
return reformattedObj;
});
我怎样才能做到这一点 如果我理解您的问题,您希望在对象数组中重新设置对象数组的格式,以便次数组中的每个单独对象现在都是其自己的键:原始对象中的值 你可以用。地图 比如:
comments: 'message: test, commenttime:test / message: test2, commenttime: test2 / ...'
$scope.MappedData = $scope.data.map(function (obj) {
var reformattedObj = {};
for (var i = 0; i < obj.comments.length; i++) {
reformattedObj['comment' + [i]] = obj.comments[i];
}
reformattedObj['date'] = obj.date;
reformattedObj['time'] = obj.time;
reformattedObj['arrival'] = obj.arrival;
return reformattedObj;
});
JS小提琴在这里: