Javascript 将对象推送到数组后,NodeJS数组筛选器未获取Includes属性
我正在尝试创建从Excel读取数据的RESTAPI服务。但是我不能使用保存excel数据的数组过滤器的include或indexOf属性。它显示类型错误:无法读取null的属性“includes”。我尝试过使用promise,但没有成功。请帮帮我Javascript 将对象推送到数组后,NodeJS数组筛选器未获取Includes属性,javascript,arrays,node.js,express,exceljs,Javascript,Arrays,Node.js,Express,Exceljs,我正在尝试创建从Excel读取数据的RESTAPI服务。但是我不能使用保存excel数据的数组过滤器的include或indexOf属性。它显示类型错误:无法读取null的属性“includes”。我尝试过使用promise,但没有成功。请帮帮我 var express = require('express'); var http = require('http'); var app = express(); function DeliveryData(Carrier, REF, PRO, E
var express = require('express');
var http = require('http');
var app = express();
function DeliveryData(Carrier, REF, PRO, ETA, DEL, NAME) {
this.Carrier = Carrier;
this.REF = REF;
this.PRO = PRO;
this.ETA = ETA;
this.DEL = DEL;
this.NAME = NAME;
};
var Excel = require('exceljs');
var workbook = new Excel.Workbook();
var DeliveryRowData = [];
workbook.xlsx.readFile('DeliveryData.xlsx').then(function () {
var worksheet = workbook.getWorksheet('DeliveryData');
worksheet.eachRow({
includeEmpty: false
}, function (row, rowNumber) {
DeliveryRowData.push(new DeliveryData(
worksheet.getRow(rowNumber).getCell(1).value,
worksheet.getRow(rowNumber).getCell(2).value,
worksheet.getRow(rowNumber).getCell(3).value,
worksheet.getRow(rowNumber).getCell(4).value,
worksheet.getRow(rowNumber).getCell(5).value,
worksheet.getRow(rowNumber).getCell(6).value
));
});
});
app.get('/dlv/:id', (req, res) => {
var aaa = [];
var output = '';
console.log(req.params.id);
var results = JSON.parse(req.params.id);
results.forEach(element => {
output = DeliveryRowData.filter(item => item.REF.includes(element));
aaa.push(output);
console.log(output);
console.log(element);
});
res.json(aaa);
});
var server = http.createServer(app);
var port = process.env.PORT || 989;
server.listen(port);
如果您执行
console.log(item)
-是否存在REF
属性-错误告诉您item.REF
为null
是否确定工作表.getRow(rowNumber).getCell(2).value
返回一个数组?@tymeJV它刚刚显示[object object]@savchenkoto我正在“var DeliveryRowData=[];”中推送数据这array@MamunurRahman-我们需要查看DeliveryRowData
的数据结构-否则我们只是猜测。