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小提琴在这里: