私がこれをするとき:
var testArray = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
私はこれを私のコンソールに印刷しました:
["a", "b", "c"]
size:3
どっちがいい。しかし今、私がこれで接合し始めるとき:
var testArray = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray = testArray.splice(0,1);
これは私のコンソールに表示されます:
["b", "c", undefined × 1]
size:3
では、最初の質問は、スプライスが印刷後にあったのに、なぜ配列の印刷を台無しにするのかということです。サイズは正しく表示されますが、「a」がなくなり、最後に未定義になります。
だから私がやりたかったのは、配列の最初の項目を削除することでした。基本的にシフト。だから私はこれを行います:
var testArray = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray = testArray.splice(0,1);
console.log(testArray);
console.log("size:" + testArray.length);
そして、これが出力されるものです:
["b", "c", undefined × 1]
size:3
["a"]
size:1
サイズが2減少しただけでなく、「a」以外のすべてが削除されました。何が起こっている?