Come confrontare e sostituire il valore di due oggetti all'interno dell'array?

-4

Qui voglio sostituire il prezzo in data1 al prezzo da data2 , e viene aggiornato se l'id è lo stesso.

È possibile farlo senza ciclo annidato?

var data1 = [{
          "id": "56e641d4864e5b780bb992c6",
          "price": "1000",
          "quantity": "1",
          "name": "def"
        },
        {
          "id": "56e65504a323ee0812e511f2",
          "price": "2000",
          "quantity": "2",
          "name": "abc"
        }]

var data2 = [{
            "id": "56e65504a323ee0812e511f2",
            "price": "800",
            "name": "abc"
        },
        {
            "id": "56e641d4864e5b780bb992c6",
            "price": "900",
            "name": "def"
        }]

il risultato che voglio è simile a questo

result = [{
              "id": "56e641d4864e5b780bb992c6",
              "price": "900",
              "quantity": "1",
              "name": "def"
            },
            {
              "id": "56e65504a323ee0812e511f2",
              "price": "800",
              "quantity": "2",
              "name": "abc"
            }]
    
posta Muhammad Fasalir Rahman 24.03.2016 - 08:22
fonte

1 risposta

-2

Ecco una risposta indiretta (javascript) per manipolare direttamente il tuo campo in javascript object da jason

var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
var obj = JSON.parse(text);

writeln(obj.employees[1].firstName + obj.employees[2].firstName);

var temp=obj.employees[1].firstName;

obj.employees[1].firstName = obj.employees[2].firstName;
obj.employees[2].firstName = temp;

obj.employees[1].firstName + obj.employees[2].firstName;
    
risposta data 24.03.2016 - 09:18
fonte

Leggi altre domande sui tag