2017-07-17 17 views
0

中正確的訪問屬性我有以下代碼:JavaScript的 - 無法對象

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變量內部屬性的正確方法是什麼?

+1

objectMatch是一個數組,用於獲取該數組中的每個對象,您需要像訪問它,例如'objectMatch [0]' –

回答

1

map()返回一個數組,所以你要做的:

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]; 
}; 

然後你可以像以前一樣訪問標題。

+0

太棒了,非常感謝。我會盡快更新爲答案。 –