programing

javascript에서 배열의 요소를 설정 해제하려면 어떻게 해야 합니까?

telecom 2023. 11. 6. 21:38
반응형

javascript에서 배열의 요소를 설정 해제하려면 어떻게 해야 합니까?

배열 정보에서 키 'bar'를 제거하여 'bar'가 표시되지 않도록 하는 방법

for(key in foo){alert(key);}

배열에서 요소를 제거하지 않으므로 삭제를 사용하지 마십시오. 배열의 길이에 올바르게 반영되지 않습니다.

키를 알고 있다면 스플라이스를 사용해야 합니다.

myArray.splice(key, 1);

Steven의 입장에 있는 누군가에게 당신은 다음과 같은 것을 시도할 수 있습니다.

for (var key in myArray) {
    if (key == 'bar') {
        myArray.splice(key, 1);
    }
}

아니면

for (var key in myArray) {
    if (myArray[key] == 'bar') {
        myArray.splice(key, 1);
    }
}
delete foo[key];

:D

키 이름을 알고 있으면 다음과 같이 하십시오.

delete array['key_name']

참고 사항: 자바스크립트 어레이는 PHP에서 익숙할 수 있는 것과 같은 연관 배열이 아닙니다.배열 키가 문자열이면 배열의 내용에 대해 더 이상 작동하지 않습니다.배열은 개체이며 괄호 표기를 사용하여 <key name>이라는 멤버에 액세스하고 있습니다.따라서:

varmyArray = [];myArray["bar"] = true;myArray["foo"] = true;alert(myArray.length); // 0을 반환합니다.

배열에 요소를 추가하지 않았기 때문에 myArray의 바 및 foo 멤버만 수정했습니다.

저는 이렇게 합니다.

 myArray.splice( myArray.indexOf('bar') , 1) 

http://www.internetdoc.info/javascript-function/remove-key-from-array.htm

removeKey(arrayName,key);

function removeKey(arrayName,key)
{
 var x;
 var tmpArray = new Array();
 for(x in arrayName)
 {
  if(x!=key) { tmpArray[x] = arrayName[x]; }
 }
 return tmpArray;
}

삭제와 스플라이스 사이에는 중요한 차이가 있습니다.

원본 배열:

[<빈항목 1개>, '1개', <빈항목 3개>, '5개', <빈항목 3개>, '9개']

스플라이스 후(array.splice(1,1)):

[ <4개의 빈 항목>, <5개의 빈 항목>, <3개의 빈 항목>, <9개의 빈 항목>]

AFTER DELETE(배열 삭제[1]):

[ <5개의 빈 항목>, <5개의 빈 항목>, <3개의 빈 항목>, <9개의 빈 항목>]

언급URL : https://stackoverflow.com/questions/206988/how-do-i-unset-an-element-in-an-array-in-javascript

반응형