我正在尝试使用_.each循环,但由于某些原因,我收到以下错误:
Cannot read property 'get' of undefined
每次我使用elem
尝试从数据中获取信息时,都会返回错误。
_.each( data, (elem) => {
var row = Moment(elem.get('date')).format($.i18n.prop('moment.date.time.format')) + ';' + elem.get('name') + ';' + elem.get('type') + ';' + elem.get('event') + ';' + elem.get('message') + '\n';
rows.push(row);
});
我确定data
也不为空。但是由于某种原因,它不想识别elem
。代码有问题吗?
编辑:我通过使用map
而非_.each
解决了该问题,并添加了一个将数据转换为JSON的功能:
var rows = [];
var data = this.attributes.lines.toJSON();
_.map(data, (elem) => {
const {date, objectName, objectType, event, messageKey, messageParameters} = elem;
console.log(date + " ==> " + Moment(date).format($.i18n.prop('moment.date.time.format')));
var row = Moment(date).format($.i18n.prop('moment.date.time.format')) + ";" + objectName + ";" + objectType + ";" + event + ";" + $.i18n.prop(messageKey, messageParameters) + ";" + '\n';
rows.push(row);
希望这也会对其他人有所帮助。