1
我正在使用嘗試提高我寫的一些代碼的可讀性。我將一組數值傳遞給一個函數,並希望能夠提取每個值。我想檢查一下數組是否是預期的大小。是否可以訪問剛指定的屬性?
function useData(data) {
if (data.length != Data.Size) {
// ERROR
}
var name = data[Data.Indexes.NAME];
var age = data[Data.Indexes.AGE];
var weight = data[Data.Indexes.WEIGHT];
}
我想知道有多少性能是Data.Indexes
,我已經嘗試以下兩種方法,
var Data = {
Indexes : {
NAME : 0,
AGE : 1,
WEIGHT : 2
},
Size : Objects.keys(Indexes).length // Doesn't work.
};
Data.Size2 = Object.keys(Data.Indexes).length; // Works.
我能找到的Indexes
大小,同時還在裏面Data
?
你有沒有嘗試'大小:Objects.keys(this.Indexes).length'裏面的數據? – artm 2014-10-17 09:35:13
似乎有什麼你不告訴我們。如果定義'Data'的代碼看起來像這樣,那麼你知道'Indexes'的大小是3,並且你可以簡單地寫'Size:3'。如果'Indexes'實際上是通過其他方法定義的,比如說從一個變量來說,那麼你可以檢查這個變量'var Data = {Indexes:myIndexes,Size:Object.keys(myIndexes).length'。 (但要回答你的問題,不,我不相信你可以在定義它的語句中訪問一個對象的屬性) – 2014-10-17 09:38:09
@David Hedlund我試圖避免錯誤被引入,如果'Data.Indexes'被更改爲添加或刪除一個屬性。我曾經用過的每種語言都被這樣的東西燒燬了! – 2014-10-17 10:36:25