source

json 객체 키 및 값을 제거하는 방법

manysource 2023. 2. 8. 19:45

json 객체 키 및 값을 제거하는 방법

아래와 같이 json 오브젝트가 있습니다.아래 코드를 사용하여 "otherIndustry" 항목과 값을 삭제하려고 합니다.

var updatedjsonobj = delete myjsonobj['otherIndustry'];

Json 개체별 키 및 값을 제거하는 방법.다음은 "other Industry" 키와 값을 삭제하는 json 객체의 예입니다.

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

여기서 로그는 'other'를 삭제하지 않고 동일한 개체를 인쇄합니다.오브젝트로부터의 업계의 엔트리.

delete오퍼레이터는remove대상물property.

delete연산자는 새 개체를 반환하지 않고 a만 반환합니다.boolean: true 또는 false.

한편, 인터프리터가 실행된 후var updatedjsonobj = delete myjsonobj['otherIndustry'];,updatedjsonobj변수는 A를 저장합니다.boolean가치.

Json 개체별 키 및 값을 제거하는 방법

오브젝트 속성에서 속성 이름을 삭제하려면 속성 이름을 알아야 합니다.

delete myjsonobj['otherIndustry'];

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

를 삭제하는 경우key사용할 수 있는 가치를 알게 되면Object.keys지정된 개체의 열거 가능한 속성 배열을 반환하는 함수입니다.

let value="test";
let myjsonobj = {
      "employeeid": "160915848",
      "firstName": "tet",
      "lastName": "test",
      "email": "test@email.com",
      "country": "Brasil",
      "currentIndustry": "aaaaaaaaaaaaa",
      "otherIndustry": "aaaaaaaaaaaaa",
      "currentOrganization": "test",
      "salary": "1234567"
}
Object.keys(myjsonobj).forEach(function(key){
  if (myjsonobj[key] === value) {
    delete myjsonobj[key];
  }
});
console.log(myjsonobj);

여기에는 몇 가지 방법이 있습니다.각각 확인하겠습니다.

  1. 삭제 방법:가장 일반적인 방법

const myObject = {
    "employeeid": "160915848",
    "firstName": "tet",
    "lastName": "test",
    "email": "test@email.com",
    "country": "Brasil",
    "currentIndustry": "aaaaaaaaaaaaa",
    "otherIndustry": "aaaaaaaaaaaaa",
    "currentOrganization": "test",
    "salary": "1234567"
};

delete myObject['currentIndustry'];
// OR delete myObject.currentIndustry;
  
console.log(myObject);

  1. 을 정의하지 않음:대체 및 고속화 방법:

let myObject = {
    "employeeid": "160915848",
    "firstName": "tet",
    "lastName": "test",
    "email": "test@email.com",
    "country": "Brasil",
    "currentIndustry": "aaaaaaaaaaaaa",
    "otherIndustry": "aaaaaaaaaaaaa",
    "currentOrganization": "test",
    "salary": "1234567"
  };

myObject.currentIndustry = undefined;
myObject = JSON.parse(JSON.stringify(myObject));

console.log(myObject);

  1. es6 스프레드 연산자 사용:

const myObject = {
    "employeeid": "160915848",
    "firstName": "tet",
    "lastName": "test",
    "email": "test@email.com",
    "country": "Brasil",
    "currentIndustry": "aaaaaaaaaaaaa",
    "otherIndustry": "aaaaaaaaaaaaa",
    "currentOrganization": "test",
    "salary": "1234567"
};


const {currentIndustry, ...filteredObject} = myObject;
console.log(filteredObject);

또는 언더스코어 js 라이브러리의 opt()를 사용할 수 있는 경우:

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

어떤 경우에 사용합니까?

필터링된 새 개체를 만들지 않으려면 옵션 1 또는 2 중 하나를 선택하십시오.값을 덮어쓰므로 두 번째 옵션을 사용할 때 let을 사용하여 개체를 정의해야 합니다.그렇지 않으면 아무 것도 사용할 수 있습니다.

이것이 도움이 되기를 바란다:)

다음에, 다음과 같이 할 수 있습니다.

var obj = {
    Objone: 'one',
    Objtwo: 'two'
};

var key = "Objone";
delete obj[key];
console.log(obj); // prints { "objtwo": two}

여기 한 가지 예가 더 있다.(참조 확인)

const myObject = {
  "employeeid": "160915848",
  "firstName": "tet",
  "lastName": "test",
  "email": "test@email.com",
  "country": "Brasil",
  "currentIndustry": "aaaaaaaaaaaaa",
  "otherIndustry": "aaaaaaaaaaaaa",
  "currentOrganization": "test",
  "salary": "1234567"
};
const {otherIndustry, ...otherIndustry2} = myObject;
console.log(otherIndustry2);
.as-console-wrapper {
  max-height: 100% !important;
  top: 0;
}

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

ES6 확산 연산자를 다음과 같이 사용할 수 있습니다.그리고 키를 제거하려면 전화만 하면 됩니다.

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

항상 순수한 기능을 유지하는 것이 좋습니다.type=objectjavascript로.

반환된 JSON 오브젝트를 삭제하려고 할 때 문제가 발생하여 실제로는 문자열임을 알게 되었습니다.삭제하기 전에 JSON.parse()를 사용하면 키가 삭제됩니다.

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}

언급URL : https://stackoverflow.com/questions/46599519/how-to-remove-json-object-key-and-value