프로그래밍 언어/HTML,CSS,JS

JavaScript에서 하나의 요소를 제외하고 배열을 복제하는 방법

Rateye 2021. 8. 5. 10:27
728x90
반응형
질문 : 하나의 키를 제외하고 JavaScript 객체를 복제하려면 어떻게해야합니까?

평면 JS 개체가 있습니다.

{a: 1, b: 2, c: 3, ..., z:26}

하나의 요소를 제외하고 개체를 복제하고 싶습니다.

{a: 1, c: 3, ..., z:26}

이를 수행하는 가장 쉬운 방법은 무엇입니까 (가능한 경우 es6 / 7 사용 선호)?

답변

Babel 을 사용하는 경우 다음 구문을 사용하여 속성 b를 x에서 변수 b로 복사 한 다음 나머지 속성을 변수 y로 복사 할 수 있습니다.

let x = {a: 1, b: 2, c: 3, z:26};
let {b, ...y} = x;

다음 으로 변환 됩니다.

"use strict";

function _objectWithoutProperties(obj, keys) {
  var target = {};
  for (var i in obj) {
    if (keys.indexOf(i) >= 0) continue;
    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
    target[i] = obj[i];
  }
  return target;
}

var x = { a: 1, b: 2, c: 3, z: 26 };
var b = x.b;

var y = _objectWithoutProperties(x, ["b"]);
출처 : https://stackoverflow.com/questions/34698905/how-can-i-clone-a-javascript-object-except-for-one-key
728x90
반응형