Array első item behelyezése
2022-09-04T15:42:39+02:00
2022-09-20T11:43:45+02:00
2022-09-20T16:42:54+02:00
ShadowMember
Hello
Van 2 array-om. Van egy fő array amelyben van egy array is.

Például igy nézz ki:

[ { "id": 0, "name": "Test1", "msg": "Open", "msgtime": "300", "times": [ "10:00", "15:00", "19:00", "23:00" ] }, { "id": 1, "name": "Test2", "msg": "Open", "msgtime": "300", "times": [ "11:00", "13:00", "17:00", "23:45" ] }, { "id": 2, "name": "Test3", "msg": "Open", "msgtime": "300", "times": [ "12:00", "21:00", "23:35" ] }, { "id": 3, "name": "Test4", "msg": "Open", "msgtime": "300", "times": [ "10:00", "12:00", "14:00", "16:00", "18:00" ] } ]
Igy próbáltam:

for (let i = 0; i < xmldata.length; i++) { let obj = xmldata
; actualEventsc.push({ id: i, name: obj.name, msg: obj.message, msgtime: obj.messagetime, times: obj.times }); for (let ti = 0; ti < actualEventsc
.times.length; ti++) { let objtime = actualEventsc
.times[ti]; //console.log(objtime) let checkactualseconds = time_to_sec(getCurrentTimeInSeconds()); let checkeventseconds = time_to_sec(objtime) if (actualEventsc
.id == i) { if (checkactualseconds <= checkeventseconds) { var timecount = checkeventseconds - checkactualseconds; eventactivetimes.push({ id: i, activetime: objtime }); //console.log(eventactivetimes) } } } } console.log(actualEventsc) var finalresult = []; for (let time = 0; time < eventactivetimes.length; time++) { let timeobj = eventactivetimes[time]; for (let event = 0; event < actualEventsc.length; event++) { if (timeobj.id === event) { finalresult.push(eventactivetimes[event].activetime) // finalresult.push(times.time) console.log(eventactivetimes[event].activetime[0]) } } }


Nagy big mess tudom, bár sehogyse akar össze jönni. A times-ből akarom megkapni az első itemet.
Elsőre ellenőrzöm az időket melyik járt le és a többi időket listázom. Amit ki listázz abból csak az első item kellene, az első idő.

A próbléma az, hogy a hátralévő időket igy rakom be:

eventactivetimes.push({ id: i, activetime: objtime });

Igy nem is tudok úgy csinálni, hogy például eventactivetimes.activetime[0] mert minden új arrayba megy például

[
    {
        "id": 0,
        "activetime": "10:00"
    },
{
        "id": 1,
        "activetime": "11:00"
    },
]


Ezzel csak annyi a gond, hogy nem tudom hogyan kapjam meg az activetime első itemet. Könnyebb lenne .

Szóval hogy tudom csinálni az activetime részt hogy hozzáadja a hátralévő időket meglévő id-hez csatolva és megkapni az első array itemet az activetime-ból?
Mutasd a teljes hozzászólást!

  • Lehet, hogy vesztenék, de nagy összegben le merném fogadni, hogy ha a times nevű tömböt ki tudod venni egy önálló változóba akkor már egy lépéssel előrébb jársz. Nem próbáltam teljesen kibogozni a zűrzavaros posztot, de nagyjából ez jött ki nekem.
    Aztán, amikor már tudsz majd javascript-ben programozni akkor már azt is tudni fogod, hogy nem is kell kivenni azt a tömböt, hanem anélkül is megoldható.
    Ez csak a személyes véleményem, és remélem ez idő alatt egyetlen cica vagy mókus sem szenvedett sérülést.
    Mutasd a teljes hozzászólást!
  • Ennek a kérdésnek fuss neki mégegyszer mert 3x olvastam el és még mindig halvány lila gőzöm nincs arról hogy nincs mit szeretnél elérni.
    Mutasd a teljes hozzászólást!
  • Hát nem tudom mit akart kihozni a szerző ezzel a kérdéssel, de hátha ez segíthet.
    Valaki csak rá hibázik egyszer :)

    var myobject = [ { "id": 0, "name": "Test1", "msg": "Open", "msgtime": "300", "times": [ "10:00", "15:00", "19:00", "23:00" ] }, { "id": 1, "name": "Test2", "msg": "Open", "msgtime": "300", "times": [ "11:00", "13:00", "17:00", "23:45" ] }, { "id": 2, "name": "Test3", "msg": "Open", "msgtime": "300", "times": [ "12:00", "21:00", "23:35" ] }, { "id": 3, "name": "Test4", "msg": "Open", "msgtime": "300", "times": [ "10:00", "12:00", "14:00", "16:00", "18:00" ] } ]; myobject[1].times.unshift("24:24"); document.getElementById("result").innerHTML = ""; for (let i = 0; i < myobject.length; i++) { myobject.times.unshift("00:00"); document.getElementById("result").innerHTML += myobject.times[0] + "<br>"; } console.log(myobject);
    Mutasd a teljes hozzászólást!
  • Szerintem ha elolvasod amit írtál kívülállóként, akkor te sem fogod érteni

    Komolyra fordítva, írd le légy szíves elsőként, hogy mi a feladat, majd utána hogy mivel próbálkoztál!
    Mutasd a teljes hozzászólást!
abcd