获取Javascript嵌套数组对象值
我有一个Javascript对象获取Javascript嵌套数组对象值,javascript,arrays,node.js,object,Javascript,Arrays,Node.js,Object,我有一个Javascript对象 var output = { "_resolved": true, "_result": [ { "title": "Pencil", "quantity": 1, "objectId": "HknL2ZAspb" } ] } 当我尝试获得标题的值时,如下所示: output._result[0
var output = {
"_resolved": true,
"_result": [ {
"title": "Pencil",
"quantity": 1,
"objectId": "HknL2ZAspb"
} ]
}
当我尝试获得标题的值时,如下所示:
output._result[0].title
它返回undefined
然而
output._result[0]
正确返回
{ "title": "Pencil", "quantity": 1, "objectId": "HknL2ZAspb" }
知道为什么
output.\u结果[0]。title
返回未定义的结果吗?
我还尝试了输出[“\u result”][0][“title”]
,但它也返回未定义
var output = {
"_resolved": true,
"_result": [ {
"title": "Pencil",
"quantity": 1,
"objectId": "HknL2ZAspb"
} ]
}
console.log(output._result[0].title);
服务器端代码(节点):
注意,查询和其他代码都很好。As output返回确切的对象。因为您使用的是解析,而且它是异步的 从中的示例中,我可以给出工作示例:
const ProductTable = 'products';
app.get('/products/:id', async (req, res) => {
try {
const productId = req.params.id;
const query = (new Parse.Query(ProductTable))
.equalTo('objectId', productId);
const result = await query.find();
if (result[0]) {
return res.status(200).send(result[0]);
}
res.status(404).send({});
}
catch (error) {
res.status(500).send(error);
}
});
像这样使用它:
输出。_结果[0]。title
可以正确使用您提供的数据。您的代码中必须有输入错误。显示与您的帖子相关的代码。@Daman请添加app.get handler body的完整代码。解析查询不是异步的吗?@pfg它说-objectI do。因为当我输出结果时,它会输出一个object,为什么所有的东西都返回正确的值呢?我们尝试过的所有东西都可以在下载完之后调用吗?@pfg Daman没有给出完整的代码,+我没有发现任何关于。转到查询对象。也许这是对解析类的某种抽象。所以,我刚刚根据官方手册编写了适当的示例。另一方面,结果和解析可能是记录到控制台或按需字符串化的自定义承诺对象的特殊字段。
const ProductTable = 'products';
app.get('/products/:id', async (req, res) => {
try {
const productId = req.params.id;
const query = (new Parse.Query(ProductTable))
.equalTo('objectId', productId);
const result = await query.find();
if (result[0]) {
return res.status(200).send(result[0]);
}
res.status(404).send({});
}
catch (error) {
res.status(500).send(error);
}
});