O {
k = 57.690636,
A = -2.010575000000017,
type = 'terrible'
}
上述目前有k
和A
keys
如但這些變化週期性。所以我希望有人能幫我解決我的問題。的Javascript選擇前兩個從陣列
我目前只是使用data.k
和data.A
從數組中獲取值,但是有可能僅選擇前兩個並將它們設置爲變量而不知道鍵名稱?
O {
k = 57.690636,
A = -2.010575000000017,
type = 'terrible'
}
上述目前有k
和A
keys
如但這些變化週期性。所以我希望有人能幫我解決我的問題。的Javascript選擇前兩個從陣列
我目前只是使用data.k
和data.A
從數組中獲取值,但是有可能僅選擇前兩個並將它們設置爲變量而不知道鍵名稱?
的JSON成員添加到一個數組,然後用它的指標..
var O = {
k:57.690636,
A:-2.010575000000017,
type:'terrible'
};
var index = [];
for (var x in O) {
index.push(O[x]);
};
你可以使用Object.keys(yourObjectHere)
得到鍵的排列,而是一個更老的瀏覽器兼容的方法,嘗試:
var keys = [], k;
for(k in yourObjectHere) keys.push(k);
您也可以打破你的循環,一旦你擁有前兩個if你喜歡。
但是你選擇這樣做,你現在可以訪問yourObjectHere[keys[0]]
和yourObjectHere[keys[1]]
規範未定義JavaScript對象的屬性順序。這意味着根據實現,鍵可以以任何順序返回,所以它們的前兩個鍵可以是對象中的任意兩個鍵。
的力學和列舉的屬性順序(在第一算法步驟6.A,在第二步驟7.A)沒有被指定。
如果一個實現定義枚舉爲換在聲明,相同的枚舉順序必須在該算法的步驟5中所使用的特定的順序。
最好的辦法是穩定這些對象的來源,以便始終使用相同的鍵值返回有價值的信息。
隨機猜測是你使用了一些減少密鑰長度的縮小器。也許不是做
var returnedObject = {
lat : '123',
long : '456';
}
你可以這樣做:
var returnedObject = {};
returnedObject['lat'] = '123';
returnedObject['long'] = '456';
這應該防止微小更改您的鍵名。如果你使用外部服務,你應該問自己,如果這是真實的公開(意味着你想要使用的數據)數據,如果不是,公共選擇是什麼。
雖然不是最好的方法,但以下工作假設您正在尋找的屬性是類型編號。
var obj = {
k : 57.690636,
A : -2.010575000000017,
type : 'terrible'
};
for (attr in obj)
{
if (typeof obj[attr] === 'number')
{
console.log(obj[attr]);
}
}
雖然這不是一個數組。 JavaScript不支持關聯數組。 –
'前兩個'。對象中沒有前兩個,因爲它們基於散列值工作。 – thefourtheye