var cache = [];
cache[0] = "0";
cache[1] = "1";
cache[2] = "2";
cache[3] = "3";
cache[4] = "4";
cache["r"] = "r";
console.log(cache.length);
for(key in cache){
if(isNaN(key))continue;
else cache.splice(key,1); // cache.splice(key) is working fine, ***
}
console.log(cache);
질문 작동하지 : 라인 ***
에 왜 스플 라이스 (키) (숫자 인덱스 모든 요소를 삭제) 잘 작동되고 스플 라이스 (키, 1) 숫자 인덱스와 미세 (삭제하지 요소를 작동하지). 심지어 내가자바 스크립트 배열 스플 라이스 잘
splice(key,1) // Not working as splice(key)
splice(key--,1) // Even not working as splice(key)
splice(key,0) // not deleting any thing
당신은 테스트를 위해 방화범 콘솔에서 복사 및 붙여 넣기 코드를 수있는 노력했다.
"작동하지 않음"을 명확히 할 수 있습니까? 코드를 사용해 보면 어떻게되며 어떻게 예상과 다른가? 오류 메시지가 나타 납니까? – Guffa
splice 함수는 배열에서 요소를 삭제합니다. 그것은 숫자 인덱스와 함께 모든 요소를 삭제해야하지만 그 중 일부는 제거하기 때문에 –
splice는 숫자 인덱스를 제공 할 것으로 예상하므로 (n, x)는 숫자 인덱스 n에서 시작하고 인덱스 n 다음에 x 값을 제거한다는 의미입니다. n이 숫자가 아니라 키이면 x가 필요 없다. 그래서 그것은 잘 작동 x는 제거됩니다. –