[javascript] javascript에서 배열의 요소를 어떻게 설정 해제합니까?

‘bar’가 표시되지 않도록 배열 foo에서 ‘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];

:디


답변

중요 사항 : JavaScript Array는 PHP에서 익숙한 것과 같은 연관 배열이 아닙니다. “배열 키”가 문자열이면 더 이상 배열의 내용을 조작하지 않습니다. 배열은 객체이며 대괄호 표기법을 사용하여 <key name>이라는 멤버에 액세스합니다. 그러므로:

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

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


답변

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

delete array['key_name']


답변

이것이 내가하는 방법입니다

 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;
}


답변