자바스크립트 연관 배열에서 객체를 제거하려면 어떻게 하나요?
이 코드가 있다고 가정해 보겠습니다:
var myArray = new Object();
myArray["firstname"] = "Bob";
myArray["lastname"] = "Smith";
myArray["age"] = 25;
이제 <성>을 제거하려면 .... 다음과 같은 코드가 있습니까?
myArray["성"].remove()
?
(요소의 수가 중요하고 깔끔하게 유지하고 싶기 때문에 요소를 제거해야 합니다.)
585
17
자바스크립트에서 키워드를 사용합니다.
편집:
일부 자바스크립트 엔진에서는 삭제 키워드가 컴파일/JIT 최적화를 취소하기 때문에 성능이 저하될 수 있습니다.
http://www.html5rocks.com/en/tutorials/speed/v8/ http://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/
자바스크립트의 모든 객체는 해시 테이블/연관 배열로 구현됩니다. 따라서 다음은 이에 해당합니다:
그리고 이미 언급했듯이 '삭제' 키워드를 통해 객체에서 속성을 '제거'하는데, 두 가지 방법으로 사용할 수 있습니다:
추가 정보가 도움이 되었기를 바랍니다...
아무도 대답 없는 사실을 주소 이전 Javascript 시작하는 등 연관 배열 없다 '-' 방식의 어레이입니다 http://schmidt. devlib. '메리 페로프'.
Javascript 가 인스턴스들도 (동적 객체, 어떤 식으로 쓰면 다음과 같다. 그 때 요소 속성은 어레이에서는 객체에는 나쁜거라 Things™ 바인딩됩니다 인스턴스입니다 혼동하는 일이.
< h2> Problem< /h2>;;;
< h2> Solution< /h2>;;;
보편적 제거 기능을 가질 수 없는 너회들 위에 폭파시킨 다음 사용합니다.
이렇게 하면 객체만 삭제되지만 배열 길이는 그대로 유지됩니다.
제거하려면 다음과 같은 작업을 수행해야 합니다:
반면, 이 설명이 정확한 답이 수락됨 누락되었는지 왜 작동하잖아.
첫째, 이 사실을 안 것은 어레이에서는 코드에 설명하노라 합니다.
단, 모든 객체에는 (어레이입니다 등 '의) 이 방법으로 사용할 수 있습니다. 그러나 표준 작성되지는 않습니다 JS 어레이입니다 기능 (push, pop.) 작업할 수 객체에는!
'로 사용할 수 있습니다' 라고 한다고 수락됨 삭제하시겠습니까 분리하십시오 항목에서 안내선:
프로파일링하려는 시행하십시오 라우트를 결정해야 합니다 (연관 배열 / 사전) 을 사용하여 객체를 사용하거나 어레이에는 (지도). 그들 두 사용할 수 없다.
'' 에서 완전히 제거 방법 사용 스플라이스를 품목으로부터 객체에는 어레이입니다:
어떤 때는 다른 답을 갖고 있지 않지만, Javascript 어레이입니다 사용하고 있다고, Javascript 객체에는 작동됨 모든 것을 제외하면 거의 같은 다른 언어에서는 연관 어레이입니다 변환할지 써줬지 키 새 [매핑해야] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) 는 기존 키로 유형:.
어레이에서는 했을 경우, 아닌 객체에는 array& 사용할 수 있습니다 # 39 의 [윈필터] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) 기능을 원하는 항목을 없이 새 어레이입니다 반환되기를 재거됨:
Jquery, jQuery 는 이전 브라우저와 경우 ['$ 지그레프' 방법] (https://api.jquery.com/jQuery.grep/) 가 동작합니다.
객체에는 연관 배열을 사용하고 있으면, you are not 꼴입니다. 연관 배열, 다음과 같은 항목을 추가하거나 제거할 수 있는 댁이라면
There is an 세련된 방식으로 이를 스타일입니까 안내선 에어비앤비 (ES7):
저작권: https://codeburst.io/use-es2015-object-rest-operator-to-omit-properties-38a3ecffe90
우리는 함수로 사용할 수 있는 것이 너무. 프로토타입 (prototype) 로 사용할 경우 각 던지는 약간의 오류가 발생했습니다. 감사합니다 @HarpyWar. 내가 이 문제를 해결할 수 있도록.
& # 39 에서 엔트리입니다 제거할 수 있습니다, 이를 통해 매핑해야 명시적으로 지정하여 undefined& # 39;. 같이 케이스.
>. myArray [lastname" ";] = 정의되지 않았습니다.
Delete 키 (key) 는 만약 어떤 이유로든 작동안함 (like it 일하는 않네 me)
값이 정의되지 않은 필터링합니다 스플라이스를 아웃해야 수 있습니다 다음
그 이후, chain 시도하시겠습니까 스플라이스를 재거됨 구성 요소, 되돌려줍니다 않습니다.
이 프로젝트의 경우 의존도가 매우 간단하지는 [언더스코엘가이스] [1] -
[1]: http://underscorejs.org/ # 생략하십시오
, ',' 키워드를 사용하여 " delete" 배열 요소의 삭제하시겠습니까 javascript 에서 어레이로부터 될 것이라고 말했다.
예를 들어,
고려해보십시오 정보정의다음 명령문입니다.
마지막 줄의 코드가 who& # 39 의 키는 배열 요소의 분리하십시오 " status"; &solarisdvd 어레이입니다.
우리 같은 결과를 가져온 없이 루프을 /
Arrays" 대한 ";:
이런 문제에 대한 가장 업보테드 '가 아닌' 제대로 삭제하시겠습니까 객체에는 실제 배열입니다. '삭제' 를 사용하고 있는 요소를 제거한 상태로 유지합니다 요소로 '빈' 와 루프 길이 어레이입니다 변했다니까 못함 몇 가지 시나리오를 문제가 될 수 있습니다.
예를 들어, 나는한다 미라이스토스트링 () 를 제거한 후, 즉, '빈' 삭제하시겠습니까 myArray 통해 만든 엔트리입니다.
유일한 방법은 apc® 봐요.
사용법: