Permalänk

Javascript hämta variabler

Tjo!

Jag håller på att hämta ut variabler via Googles API men vet inte hur jag kommer vidare.
Den hämtar via javascript och om det är en root variabel t.ex serialNumber så hämtas den genom device.serialNumber
Men nu vill jag hämta en lista på vilka som senast var inloggade och den heter device.recentUsers och istället för att få fram rätt variabler så skriver den istället ut

Senast inloggad: [object Object],[object Object],[object Object],[object Object]

Variablerna under heter type och email och att bara lägga till device.recentUsers.email ger mig bara svaret undefined så uppenbarligen ska man skriva något annat men jag vet inte ens vad jag ska googla efter =(

Om det inte är uppenbart så kan jag ingen javascript alls utan copy/paste och försöka tyda är det bästa jag kan göra.

Lite hjälp skulle verkligen uppskattas.

Visa signatur

PC:Intel i9 12900K, 32 GB DDR5, 4*2TB Corsair MP600 Pro, Nvidia 3090 FE, Win 11, Corsair HydroX, ASUS PA32UC & Aorus AD27QD | Kamera: Nikon D610 | Server: i5, 32GB, 7*18TB Debian

Permalänk
Medlem

Logga objektet till konsolen så kan du se vilka fält som finns.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Medlem

Låter som om det är en lista som du måste loopa igenom för att komma åt de egenskaperna du är ute efter.

Permalänk

(4) [{…}, {…}, {…}, {…}]
0: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
1: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
2: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
3: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
length: 4

Hjälper mig dock inte då jag fortfarande inte vet hur jag väljer dem =(

Visa signatur

PC:Intel i9 12900K, 32 GB DDR5, 4*2TB Corsair MP600 Pro, Nvidia 3090 FE, Win 11, Corsair HydroX, ASUS PA32UC & Aorus AD27QD | Kamera: Nikon D610 | Server: i5, 32GB, 7*18TB Debian

Permalänk
Medlem

Svårt att säga utan att se någon kod för just det som händer där

testa en console.log(device.recentUsers) ? och se vad den ger för något.

ah, det är en array med object. du kan köra .forEach() tex.

edit: alltså tex device.recentUsers.forEach((value) => {
console.log(value.email) }) för att se alla email bara tex.

Visa signatur

I5 9600k@stock / Cooler Master Evo 212 / Gigabyte Z390 Gaming X / Corsair Vengeance LPX 16GB DDR4 3000MHz / MSI RTX2070 Gaming Z / EVGA 550 BQ / Asus VG27BQ 27" 165Hz

Ryzen 5 5600x@stock / Asus Rog Strix X570-E Gaming / Corsair Vengeance RGB Pro 16GB 3600MHz CL18 / MSI RTX3070 Suprim X / BeQuiet Pure Power 11 600W / Asus VG278Q 27" 144Hz

Permalänk

Finns det något sätt att få dem utskrivna på sidan och inte till console.log för där gör dom ingen nytta

Visa signatur

PC:Intel i9 12900K, 32 GB DDR5, 4*2TB Corsair MP600 Pro, Nvidia 3090 FE, Win 11, Corsair HydroX, ASUS PA32UC & Aorus AD27QD | Kamera: Nikon D610 | Server: i5, 32GB, 7*18TB Debian

Permalänk
Medlem
Skrivet av NightFlash:

Finns det något sätt att få dem utskrivna på sidan och inte till console.log för där gör dom ingen nytta

Jodå, men om du inte kan html eller javascript blir det jobbigt.

men läs på om createElement() tex i javascript så kan du tex addera data till din sida.

Visa signatur

I5 9600k@stock / Cooler Master Evo 212 / Gigabyte Z390 Gaming X / Corsair Vengeance LPX 16GB DDR4 3000MHz / MSI RTX2070 Gaming Z / EVGA 550 BQ / Asus VG27BQ 27" 165Hz

Ryzen 5 5600x@stock / Asus Rog Strix X570-E Gaming / Corsair Vengeance RGB Pro 16GB 3600MHz CL18 / MSI RTX3070 Suprim X / BeQuiet Pure Power 11 600W / Asus VG278Q 27" 144Hz

Permalänk
Medlem
Skrivet av NightFlash:

(4) [{…}, {…}, {…}, {…}]
0: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
1: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
2: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
3: {type: "USER_TYPE_MANAGED", email: "x@x.se"}
length: 4

Hjälper mig dock inte då jag fortfarande inte vet hur jag väljer dem =(

Det är för att du får en array (samling) med objekt. Vill du skriva ut/hämta ett enskilt objekt så måste du skriva något i stil med:

device.recentUsers[0].type för att få ut typen på den första posten. Vill du hämta email för den tredje så skriver du helt enkelt device.recentusers[2].email

Permalänk

Detta fungerade prima!

device.recentUsers.forEach((value) => { appendPre(value.email) });

html är inget problem men javascript är grekiska för mig, min hjärna verkar inte kunna tolka det programmeringsspråket alls =(
Men nu har jag fått det jag ville så nu är jag nöjd.

Tack för hjälpen allihopa!

Visa signatur

PC:Intel i9 12900K, 32 GB DDR5, 4*2TB Corsair MP600 Pro, Nvidia 3090 FE, Win 11, Corsair HydroX, ASUS PA32UC & Aorus AD27QD | Kamera: Nikon D610 | Server: i5, 32GB, 7*18TB Debian