3 回答

TA貢獻1833條經驗 獲得超4個贊
看起來像整數的鍵沒有什么特別之處。在 JavaScript 中,屬性名總是字符串,它們看起來像大整數這一事實無關緊要。就像對待任何其他對象一樣對待它。
您可以使用Object.keys()
獲取屬性名稱數組、Object.values()
獲取屬性值數組以及Object.entries()
獲取名稱和值的二維數組。
Object.entries(data).forEach(([key, value]) => console.log(`${key} added on ${value.added}`);

TA貢獻1847條經驗 獲得超11個贊
您正在嘗試從一個對象訪問 .map() ,您要做的是將您的對象變成一個數組:
const data = {
342227492064425: {
added: "2020-10-04T23:02:28.030432",
listed: "2020-10-04T23:02:28.030432",
subscribed: "2020-10-04T23:02:28.030432",
},
342731155590705: {
added: "2020-10-04T23:02:28.030432",
listed: "2020-10-04T23:02:28.030432",
subscribed: "2020-10-04T23:02:28.030432",
},
};
//create the array which will hold all the values of the object
const data_array = [];
//loop through the object keys and store their values in data_array
for (let key of Object.keys(data)) {
data_array.push(data[key]);
}
//now data_array[0].subscribed is accessible
console.log(data_array[0].subscribed);
//map() is also accessible
data_array.map((item) => {
/* logic */
});

TA貢獻1864條經驗 獲得超6個贊
data.length
您不能在對象中使用,應該用于計算字符串和/或數組長度中的字符數
一個 Number,表示數組對象中元素的個數
參考:JavaScript 數組長度屬性
如果您需要使用,我對您有一個建議,data.length
所以基本上將您的對象推送到一個新數組。
有很多方法可以做到這一點,例如
? ? var data = [];
var objects = {"342227492064425":
? ? {"added":"2020-10-04T23:02:28.030432",
? ? ?"listed":"2020-10-04T23:02:28.030432",
? ? ?"subscribed":"2020-10-04T23:02:28.030432"},
"342731155590705":
? ? {"added":"2020-10-04T23:02:28.030432",
? ? ?"listed":"2020-10-04T23:02:28.030432",
? ? ?"subscribed":"2020-10-04T23:02:28.030432"}
}
// Convert Objects to Array via forEach function and Push method
Object.entries(objects).forEach((key, value) => data.push(key));
數組值:
console.log(data);
輸出:
/*
["342227492064425", {added: "2020-10-04T23:02:28.030432", listed: "2020-10-04T23:02:28.030432", subscribed: "2020-10-04T23:02:28.030432"}],
["342731155590705", {added: "2020-10-04T23:02:28.030432", listed: "2020-10-04T23:02:28.030432", subscribed: "2020-10-04T23:02:28.030432"}]
*/
第一個 ID 值
console.log(data[0][0])
第二個 ID 值
console.log(data[1][0])
訪問第一個對象值
console.log(data[0][1].added)
console.log(data[0][1].listed)
console.log(data[0][1].subscribed)
訪問第二個對象值
console.log(data[1][1].added)
console.log(data[1][1].listed)
console.log(data[1][1].subscribed)
現在,您可以使用data.length輸出是:(2)
添加回答
舉報