Javascript массивы неопределенные значения
У меня есть код, который генерирует неопределенные значения в массиве, не имея никакого смысла.
вот код:
gcc_py = 8;
gcc_pyd = 12;
var aci = 360/gcc_pyd;
var parcalar = new Array();
var renkler = new Array();
for(var i = 0;i<gcc_pyd;i++){
parcalar.push(aci);
renkler.push('#000');
}
console.log(parcalar);
console.log(renkler);
console.log(parcalar) выводит это:
[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, undefined × 2]
есть ли у вас какие-либо идеи для неопределенных значений в массиве?
Думаю, вы меняете массивы потом. Консоль будет отражать эти изменения, например, затем показывать объекты вместо чисел и строк. Кроме того, при удалении свойств из массива (с помощью delete
см. Раздел "Удаление элементов массива в JavaScript - удаление vs-сращивания)), они все равно будут отображаться как инициализированные, но пустые (см." Что такое "undefined x 1" в JavaScript?).
Вывод для меня показывает
[30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
["#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000"]
Возможно, вы добавили какой-то материал.prototype в Array где-то еще в коде?
Когда я запускаю ту же конфигурацию:
<script>
var gcc_py = 8;
var gcc_pyd = 12;
var aci = 360 / gcc_pyd;
var parcalar = new Array();
var renkler = new Array();
for(var i = 0; i < gcc_pyd; i++){
parcalar.push(aci);
renkler.push('#000');
}
console.log(parcalar);
console.log(renkler);
</script>
Я получил:
[30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
["#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000", "#000"]
не уверен, что вы видите.