【发布时间】:2019-05-22 21:08:39
【问题描述】:
假设我有一个这样的对象
```
{
"ListOfStudents": {
"-LTzCztVLA0PW-duF-3e": {
"StudentInfo": {
"csvTestFile": {
"2018-12-18": {
"attendanceDate": "2018-12-18",
"attendanceStatus": "present"
},
"2018-12-19": {
"attendanceDate": "2018-12-19",
"attendanceStatus": "absent"
},
"2018-12-20": {
"attendanceDate": "2018-12-20",
"attendanceStatus": "present"
}
}
}
},
"-LTz15VLA0PW-duF-123": {
"StudentInfo": {
"csvTestFile": {
"2018-12-18": {
"attendanceDate": "2018-12-18",
"attendanceStatus": "present"
},
"2018-12-19": {
"attendanceDate": "2018-12-19",
"attendanceStatus": "absent"
},
"2018-12-20": {
"attendanceDate": "2018-12-20",
"attendanceStatus": "absent"
}
}
}
},
"-LTz15VL515W-duF-163": {
"StudentInfo": {
"csvTestFile": {
"2018-12-18": {
"attendanceDate": "2018-12-18",
"attendanceStatus": "absent"
},
"2018-12-19": {
"attendanceDate": "2018-12-19",
"attendanceStatus": "absent"
},
"2018-12-20": {
"attendanceDate": "2018-12-20",
"attendanceStatus": "absent"
}
}
}
}
}
}
```
这是我的代码
const names = 'Albert,John,Alex';
saveCSVFile(data) {
const { classUID } = data;
const { currentUser } = firebase.auth();
const student = [];
firebase
.database()
.ref(`/users/${currentUser.uid}/ClassAttendance/${classUID}/ListOfStudents`)
.on('value', snapshot1 => {
snapshot1.forEach(child => {
student.push(child.val().StudentInfo);
const keys = Object.keys(child.val().StudentInfo.csvTestFile);
const dates = keys.map(key => child.val().StudentInfo.csvTestFile[key]);
console.log(dates);
});
});
}
我想要的是将 'attendanceStatus' 合并到一个字符串中,但是对于每个第一个对象,我想将每个名称放入字符串中,对于每个最后一个对象,我想放入 ' \n' 和每个出席状态的 ,(逗号)。
字符串中的预期最终输出:
'阿尔伯特,在场,不在场,在场\n
约翰,在场,不在,不在\n
亚历克斯,缺席,缺席,缺席\n'
或者可能是这样的输出
'Albert,present,absent,present\nJohn,present,absent,absent\nAlex,absent,absent,absent\n'
我一直在考虑如何做到这一点一周,但没有运气。请帮忙
【问题讨论】:
-
请尝试解决您的问题,并以文本而不是图像的形式分享您的数据。
-
好的,我编辑我的帖子
-
你会做jsfiddle吗?
标签: javascript reactjs react-native react-native-android react-native-ios