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);
質問 : in line ***
splice(key) が正常に動作し (数値インデックスを持つすべての要素を削除する)、 splice(key,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
コードをコピーして Firebug コンソールに貼り付けてテストできます。