无法访问对象的属性?
Can't access properties of an object?
我正在阅读 sheet 使用 SheetJS (xlsx) 扩展从 excel 文件中读取,如下所示:
var workbook = XLSX.readFile(req.file.path);
var sheet_name_list = workbook.SheetNames;
let sheet_json = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
当我 运行 console.log(sheet_json)
我得到:
[
{
'Question*': 'Question 1',
'Number of Choices*': 2,
'Choice A*': 'Apple',
'Choice B*': 'Pineapple',
'Answer (A/B/C/D)*': 'A',
'Correct Marking*': 1,
'Negative marking*': 0
},
{
'Question*': 'Question 2',
'Number of Choices*': 3,
'Choice A*': 'Car',
'Choice B*': 'Bike',
'Choice C': 'Truck',
'Answer (A/B/C/D)*': 'C',
'Correct Marking*': 1,
'Negative marking*': 1
}
]
现在我遍历 sheet_json 数组,我无法验证属性,结果是这样的:
// i is the index of iterator. o is the object iterated
let sn = ["Question*", "Number of Choices*"]
let props = Object.keys(sheet_json[i]);
console.log(props); //===> false
console.log(props.findIndex(o=>o==sn[1])) //===> false
console.log(o.hasOwnProperty(sn[1])); //===> false
console.log("Number of Choices*" in o); //===> false
console.log(sn[1] in sheet_json[i]); //===> false
console.log(props.includes(sn[1].trim().toString())); //===> false
console.log(o["Number of Choices*"]); //===> undefined
console.log(o[sn[1]]!==undefined); //===> false
为什么所有内容都显示为未定义或错误?请帮忙。
node -v
:v13.14.0
npm -v
: 6.14.4
xlsx
: 0.16
这里还有 excel 文件:DOWNLOAD
我尝试在此处复制它 https://jsfiddle.net/t4ocdw67/。
sheet_json=[{...},{...}];
for(i in sheet_json)
{
let o = sheet_json[i];
let sn = ["Question*", "Number of Choices*"]
.... //more code here
}
似乎工作正常,迭代部分可能有问题
我正在阅读 sheet 使用 SheetJS (xlsx) 扩展从 excel 文件中读取,如下所示:
var workbook = XLSX.readFile(req.file.path);
var sheet_name_list = workbook.SheetNames;
let sheet_json = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
当我 运行 console.log(sheet_json)
我得到:
[
{
'Question*': 'Question 1',
'Number of Choices*': 2,
'Choice A*': 'Apple',
'Choice B*': 'Pineapple',
'Answer (A/B/C/D)*': 'A',
'Correct Marking*': 1,
'Negative marking*': 0
},
{
'Question*': 'Question 2',
'Number of Choices*': 3,
'Choice A*': 'Car',
'Choice B*': 'Bike',
'Choice C': 'Truck',
'Answer (A/B/C/D)*': 'C',
'Correct Marking*': 1,
'Negative marking*': 1
}
]
现在我遍历 sheet_json 数组,我无法验证属性,结果是这样的:
// i is the index of iterator. o is the object iterated
let sn = ["Question*", "Number of Choices*"]
let props = Object.keys(sheet_json[i]);
console.log(props); //===> false
console.log(props.findIndex(o=>o==sn[1])) //===> false
console.log(o.hasOwnProperty(sn[1])); //===> false
console.log("Number of Choices*" in o); //===> false
console.log(sn[1] in sheet_json[i]); //===> false
console.log(props.includes(sn[1].trim().toString())); //===> false
console.log(o["Number of Choices*"]); //===> undefined
console.log(o[sn[1]]!==undefined); //===> false
为什么所有内容都显示为未定义或错误?请帮忙。
node -v
:v13.14.0
npm -v
: 6.14.4
xlsx
: 0.16
这里还有 excel 文件:DOWNLOAD
我尝试在此处复制它 https://jsfiddle.net/t4ocdw67/。
sheet_json=[{...},{...}];
for(i in sheet_json)
{
let o = sheet_json[i];
let sn = ["Question*", "Number of Choices*"]
.... //more code here
}
似乎工作正常,迭代部分可能有问题