Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ad esempio:
    codice:
    let objRes = result.rows;
    objRes['categories'].push(["Abito"]);
    
    console.log(objRes);
    res.send(objRes);
    quel categories non esce.
    Se l'oggetto objRes contiene l'array dei dati, stai accedendo alla proprietà categories dell'array invece che a quella dell'elemento specifico che vuoi modificare; essendo che quella proprietà non esiste, non puoi nemmeno fare il push di un nuovo valore, che quindi non apparirà mai.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  2. #2
    Quote Originariamente inviata da alka Visualizza il messaggio
    Se l'oggetto objRes contiene l'array dei dati, stai accedendo alla proprietà categories dell'array invece che a quella dell'elemento specifico che vuoi modificare; essendo che quella proprietà non esiste, non puoi nemmeno fare il push di un nuovo valore, che quindi non apparirà mai.
    ciao alka!

    grazie per la risposta.
    però non è che abbia ben capito quale potrebbe essere la soluzione .

    devo prima indicare che esistea una proprietà di tipo array?
    codice:
    let objRes = {};
    objRes.categories = [];
    
    objRes = result.rows;
    objRes['categories'].push(["Abito"]);
    
    console.log(objRes);
    res.send(objRes);
    PS: non posso provare al momento perchè ho il server fuori uso.
    però giusto per capire se è li che sto sbagliando, così appena il server viene sistemato vado a botta sicura!

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Quote Originariamente inviata da fermat Visualizza il messaggio
    grazie per la risposta.
    però non è che abbia ben capito quale potrebbe essere la soluzione .
    devo prima indicare che esistea una proprietà di tipo array?
    codice:
    let objRes = {};
    objRes.categories = [];
    
    objRes = result.rows;
    objRes['categories'].push(["Abito"]);
    
    console.log(objRes);
    res.send(objRes);
    No, io stavo dicendo che - leggendo il tuo codice - l'ipotesi è quella che tu voglia aggiungere una categoria a uno degli elementi che fanno parte dell'array che contiene tutti gli elementi: se non è così, è bene precisarlo.

    Se le cose stanno invece come ho immaginato, avendo l'array degli elementi, questo vuol dire che il push devi farlo sulle categorie di un elemento specifico, individuato ad esempio tramite la sua posizione; se voglio aggiungere una categoria al primo degli elementi, ad esempio, scriverò qualcosa di simile al seguente:
    codice:
    objRes[0].categories.push("Abito")
    In pratica, accedo al primo elemento - con indice 0 - poi agisco sulla proprietà categories di quell'elemento, che è un array di categorie, e uso push() per aggiungere un nuovo elemento.

    Nel tuo caso, non hai messo l'indice dopo objRes, quindi vuol dire che stai accedendo alla proprietà categories che appartiene all'intero array, e non al singolo elemento, e quella proprietà non esiste: la soluzione non è creare quella proprietà (a meno che io non abbia capito il tuo intento), ma accede alla proprietà giusta.

    Se la spiegazione non è chiara oppure l'obiettivo è diverso da quello pronosticato, spiegati meglio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.