[英]Get key and value of a JavaScript array into variable
我有一個 JavaScript 對象數組。 當編寫console.log(myarry)
,它將以下面的形式顯示在控制台中。
Array[2]
0: Object
one: "one"
1: Object
two: "two"
length: 2
在這個數組中,我的鍵和值是相同的,我試圖將鍵或值獲取到一個變量並打印它。 當我嘗試下面的代碼時,它顯示:
對象 對象
for (var key in myarry) {
alert("Key is " + key + ", value is" + myarry[key]);
}
檢查這個片段
var obj = [{ "1": "one" }, { "2": "two" }] obj.forEach(function(item) { Object.keys(item).forEach(function(key) { console.log("key:" + key + "value:" + item[key]); }); });
希望它有幫助
使用for-loop
而不是for-in
來迭代數組。
使用Object.keys
獲取object
鍵
var arr = [{ one: 'one' }, { two: 'two' }]; for (var i = 0, l = arr.length; i < l; i++) { var keys = Object.keys(arr[i]); for (var j = 0, k = keys.length; j < k; j++) { console.log("Key:" + keys[j] + " Value:" + arr[i][keys[j]]); } }
我認為您有兩個主要選項可以使用Object.keys
獲取對象的鍵,它們是: forEach
; 或簡單的for
。
forEach
如果您使用的環境支持 ES5 的Array
功能(直接或使用墊片),您可以使用新的forEach
:
var myarray = [{one: 'one'}, {two: 'two'}]; myarray.forEach(function(item) { var items = Object.keys(item); items.forEach(function(key) { console.log('this is a key-> ' + key + ' & this is its value-> ' + item[key]); }); });
forEach
接受一個迭代器函數和一個可選的值,在調用該迭代器函數(上面沒有使用)時用作this
。 為數組中的每個條目依次調用迭代器函數,跳過稀疏數組中不存在的條目。 雖然
forEach
的好處是您不必在包含范圍內聲明索引和值變量,因為它們是作為迭代函數的參數提供的,並且很好地限定在該迭代中。
如果您擔心為每個數組條目進行函數調用的運行時成本,請不要擔心; 技術細節。
for
有時舊的方法是最好的:
var myarray = [{one: 'one'}, {two: 'two'}]; for (var i = 0, l = myarray.length; i < l; i++) { var items = myarray[i]; var keys = Object.keys(items); for (var j = 0, k = keys.length; j < k; j++) { console.log('this is a key-> ' + keys[j] + ' & this is its value-> ' + items[keys[j]]); } }
根據您的構造,您可以
const arr = [{ key1: 'val1' }, { key2: 'val2' }]
arr.forEach((a, i) =>
console.log(i, [{ key: Object.keys(a) }, { val: Object.values(a) }])
)
並回答你的問題
arr.forEach((a, i) =>
alert("Key is "+ Object.keys(a) + ", value is " + Object.values(a))
)
我正在嘗試獲取變量的鍵或值並打印它。
那么你可以
var myarry = [{ one: 'one' }, { two: 'two' }]; for (var key in myarry) { var value = myarry[key]; console.log(key, value) }
你可以這樣做
const a = [{ one: 'one' }, { two: 'two' }]; a.forEach(function(value,key) { console.log(value,key); });
您可以在變量中獲取鍵和值並使用它們。
這是一個有趣的方法。
const arr = [{ one: 'one' }, { two: 'two' }]; Object.entries(arr).forEach(([_, obj]) => { const key = Object.keys(obj)[0]; console.log(`Key is ${key}, value is ${obj[key]}.`); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.