我有一个问题,我很长时间都无法找到解决方案。
我正在使用NodeJS,我想将一个对象存储在一个数组中,我通过post从其他网站收到该数组。我用formidable解析这个对象,并希望用util.inspect显示它。此外,我想进一步使用该对象及其属性。
我有我的阵列:
const arr = {
fix: []
};
function CreatePerson (req, res) {
var form = new formidable.IncomingForm();
form.parse(req, (err, fields, files) => {
var firstname = util.inspect(fields.firstname);
var lastname = util.inspect(fields.lastname);
arr.fix.push(util.inspect(fields));
//Works fine - shows me the two properties of my person with the values
console.log("Person" + util.inspect(fields));
// Works fine - shows me the given firstname
console.log("Firstname: " + util.inspect(fields.firstname));
//This shows me the whole person with all properties as above
console.log("Firstname " + arr.fix[0]);
// If I want to show juste one property it does not work - I get undefined
console.log("Firstname " + arr.fix[0].firstname);
如何访问属性及其值?
我的一般想法是创建人员,将他们存储在一个数组中以便进一步使用它们(更新,删除),更改姓氏等。
请您告诉我哪个是最佳解决方案。
答案 0 :(得分:0)
util.inspect(fields)
返回fields
对象的字符串表示形式(主要用于调试目的)。
据我所知,你想把fields
对象本身推到数组上:
arr.fix.push(fields);
如果要记录该数组,则不应使用+
,因为这会将数组转换为字符串,但将数组作为单独的参数传递:
console.log("Firstname", arr.fix[0])
或者将其记录为JSON:
console.log("Firstname %j", arr.fix[0])