2016-11-09 63 views
-1

讓我知道是否可以像對待數組一樣使用對象設置的第一個鍵和第一個值。獲取對象的第一個鍵和元素

var a = [1,2]; 
var b = {1: "first", 2: "second"}; 

a[0] //1 
b[0] //undefined 

什麼是最快的方式得到的只有第一個對象鍵-VAL

{1: "first"} 

編輯

我需要有像結果的對象result = {1: "first"};

感謝

+0

'b ['1']'這是你的需要。 – TomIsion

+0

@TomIsion不一定表示這是第一個例子 – thatOneGuy

+0

b [Object.keys(b)[0]];是你需要的 – thatOneGuy

回答

2

var b = {1: "first", 2: "second"}; 
 

 
for (first in b) break; 
 

 
console.log("Key : " + first); 
 
console.log("Value : " + b[first]);

+1

無法保證'for ... in'的迭代順序,因此根據對象和瀏覽器的不同,您可能會得到不同的結果。 – vlaz

1

使用Object.keys爲該並且另外Array#sort方法如果需要可以使用。

var b = { 
 
    1: "first", 
 
    2: "second" 
 
}; 
 

 
console.log(
 
    b[Object.keys(b).sort(function(a, b) { 
 
    return a - b; 
 
    })[0]] 
 
)

-1

使用過濾方法又一個建議:

所有的
const b = {1: "first", 2: "second"}; 
const firstKeyValue = Object.keys(b).filter((a) => { 
    return a 
}) 

console.log(e.splice(0, 1)) 
+0

該過濾器完成了什麼?最多隻能過濾出錯誤的值,但就是這樣。它可以從字面上用'.filter(布爾)'替換,你會得到相同的結果。 – vlaz

1

首先,有像JavaScript對象第一個關鍵沒有這樣的事情。這只是因爲他們的鑰匙無序。如果你真的想在對象中得到最小的數字鍵,你可以直接通過它的鍵,如b[1]來獲取數值。如果事先未提供最小的密鑰,則需要使用Object.keys來檢索密鑰列表,然後從Math.min獲取該列表中的最小密鑰。

var smallestKey = Math.min(...Object.keys(b)); 
var result = {[smallestKey]: b[smallestKey]}; 
+0

如果您想知道上述代碼中的這三個點是什麼,請選中此[post](http://stackoverflow.com/q/31048953/1372621) – Stacked

相關問題