JavaScript-无法正确访问对象中的属性
我有以下代码:JavaScript-无法正确访问对象中的属性,javascript,arrays,node.js,Javascript,Arrays,Node.js,我有以下代码: function getObjects(name, data) { return data.filter(function(d) { return name.title == d.title; }).map(function(d) { return { "title": d.title, "sort": d.sort[0], "direction": d.sor
function getObjects(name, data) {
return data.filter(function(d) {
return name.title == d.title;
}).map(function(d) {
return {
"title": d.title,
"sort": d.sort[0],
"direction": d.sort[1],
"columns": d.columns
}
});
};
var objectMatch = getObjects(searchName, searchObjects);
console.log("------match------");
console.log(objectMatch);
将objectMatch打印到控制台时,会得到以下输出:
[ { title: 'Convene LinkedIn Import - True',
sort: '_type',
direction: 'asc',
columns: [ 'm-Form Factor_s', '_type', 'm-Identity_s' ] } ]
我正在尝试访问此对象内的属性,但在尝试引用这些属性时,我一直未定义,如下所示:
var title = objectMatch.title;
引用objectMatch变量内部属性的正确方法是什么?映射返回一个数组,因此您必须执行以下操作:
var title = objectMatch[0].title;
如果getObjects函数将/不应返回多个项,我会将函数改为:
function getObjects(name, data) {
return data.filter(function(d) {
return name.title == d.title;
}).map(function(d) {
return {
"title": d.title,
"sort": d.sort[0],
"direction": d.sort[1],
"columns": d.columns
}
})[0];
};
然后您可以像以前一样访问标题。objectMatch是一个数组,要获取该数组中的每个对象,您需要访问它,例如objectMatch[0]真棒,非常感谢。我会尽快更新答案。