Когда я это сделаю:
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" ушел, и я получаю undefined в конце.
Так что я хотел сделать, это удалить первый элемент в массиве. В основном сдвиг. Поэтому я делаю это:
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". Что происходит?