cum se elimină cheia și valoarea obiectului json? (Programare, Javascript, Jquery, Json, Obiect)

krish kr a intrebat.
a intrebat.

Am un obiect json așa cum se arată mai jos. unde vreau să șterg intrarea „otherIndustry” și valoarea acesteia folosind codul de mai jos, care nu funcționează.

var updatedjsonobj = delete myjsonobj['otherIndustry'];

Cum să eliminați cheia specifică a obiectului Json și valoarea acestuia. mai jos este exemplul meu de obiect json în care vreau să elimin cheia „otherIndustry” și valoarea acesteia.

var myjsonobj =  {
      "employeeid": "160915848",
      "firstName": "tet",
      "lastName": "test",
      "email": "[email protected]",
      "country": "Brasil",
      "currentIndustry": "aaaaaaaaaaaaa",
      "otherIndustry": "aaaaaaaaaaaaa",
      "currentOrganization": "test",
      "salary": "1234567"
    };
delete myjsonobj ['otherIndustry'];
console.log(myjsonobj);

în cazul în care jurnalul tipărește în continuare același obiect fără a elimina intrarea „otherIndustry” din obiect.

Comentarii

  • Posibil duplicat al funcției Remove key-value pair from JSON object –  > Por Pankaj Makwana.
  • Codul dvs. ar trebui să funcționeze, puteți crea un MVCE stackoverflow.com/help/mcve –  > Por gurvinder372.
  • delete myObj.other.key1; După cum se arată în acest exemplu. –  > Por Najam Us Saqib.
  • care nu a funcționat Care a fost rezultatul? puteți explica, vă rog? –  > Por Rajesh.
  • Nope @Alexandru-IonutMihai, de fapt codul meu este var myjsonobj ={ "employeeid": "160915848", "firstName": "tet", "lastName": "test", "email": "[email protected]", "country": "Brasil", "currentIndustry": "aaaaaaaaaaaaa", "otherIndustry": "aaaaaaaaaaaaa", "currentOrganization": "test", "salary": "1234567" }; delete myjsonobj ['otherIndustry']; console.log(myjsonobj ); tipărește în continuare același obiect. 🙁 – –  > Por krish kr.
6 răspunsuri
Mihai Alexandru-Ionut

delete operatorul este folosit pentru a remove un obiect property.

delete operator nu returnează noul obiect, ci doar un boolean: true sau fals.

Pe de altă parte, după ce interpretul execută var updatedjsonobj = delete myjsonobj['otherIndustry']; , updatedjsonobj variabila va stoca o valoare booleanvaloare.

Cum se elimină cheia specifică a obiectului Json și valoarea acestuia?

Trebuie doar să cunoașteți numele proprietății pentru a o șterge din proprietățile obiectului.

delete myjsonobj['otherIndustry'];

Dacă doriți să eliminați o key atunci când cunoașteți valoarea, puteți folosi Object.keys care returnează o matrice de proprietăți enumerabile ale unui obiect dat.

Comentarii

  • Așadar, indiferent de valoarea de returnare, va funcționa funcția key:value va fi șters din obiect, conform codului lui OP? –  > Por Rajesh.
  • puteți utiliza și notația cu puncte: delete myjsonobj.otherIndustry; –  > Por Ollie.
Mohammed Amir Ansari

Există mai multe moduri de a face acest lucru, să le vedem unul câte unul:

  1. delete metoda: Cea mai comună metodă
  1. Făcând ca valoarea cheie nedefinită: Alternativă & o modalitate mai rapidă:
  1. Cu es6 răspândirea Operator:

Sau dacă puteți folosi omit() din underscore biblioteca js:

const filteredObject = _.omit(currentIndustry, 'myObject');
console.log(filteredObject);

Când să folosiți ce??

Dacă nu doriți să creați un nou obiect filtrat, alegeți pur și simplu opțiunea 1 sau 2. Asigurați-vă că vă definiți obiectul cu let în timp ce mergeți cu a doua opțiune, deoarece suprascriem valorile. În caz contrar, puteți folosi oricare dintre ele.

Sper că acest lucru vă ajută 🙂

Comentarii

  • Bune metode 🙂 –  > Por Piyush.
Muayyad Ayesh

Urmați acest lucru, poate fi ca ceea ce căutați:

Penny Liu

Iată încă un exemplu. (verificați referință)

Nick Gooch

Am avut probleme cu încercarea de a șterge un obiect JSON returnat și am constatat că era de fapt un șir de caractere. Dacă executați JSON.parse() înainte de ștergere, puteți fi sigur că cheia va fi ștearsă.

let obj;
console.log(this.getBody()); // {"AED":3.6729,"AZN":1.69805,"BRL":4.0851}
obj = this.getBody();
delete obj["BRL"];
console.log(obj) // {"AED":3.6729,"AZN":1.69805,"BRL":4.0851}
obj = JSON.parse(this.getBody());
delete obj["BRL"];
console.log(obj) // {"AED":3.6729,"AZN":1.69805}

sachinkondana
function omit(obj, key) {
    const {[key]:ignore, ...rest} = obj;
    return rest;
}

Puteți utiliza operatorii de răspândire ES6 astfel. Iar pentru a șterge cheia, pur și simplu apelați

const newJson = omit(myjsonobj, "otherIndustry");

Este întotdeauna mai bine dacă mențineți funcția pură atunci când aveți de-a face cu type=object în javascript.