Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Странный массив. (https://javascript.ru/forum/misc/73773-strannyjj-massiv.html)

Artur_Hopf 14.05.2018 08:34

Странный массив.
 
Добрый день, не могу грамотно обновить массив.
//есть пустой массив

array_1 = [];

//хочу его заполнить подобными данными

var getData = $.get('get');

// getData выглядит примерно так = [{Datetime: 'дата', sum: 'параметр_1', ... array_n:'параметр_n'}]

for (i = 0; i < getData.length; i++){
    array_1[i] = {x: getData[i].Datetime, y: +getData[i].sum};
};


В итоге array_1 превращается во что то странное, у которого внутри подмножество данных в _chartjs, с одними и теми же данными:

// выглядит это так, допустим array_1.length = 100

array_1 = [
0:{array_1: 'дата', arra_2: 'параметр_1', ... array_n:'параметр_n'},....
100:{array_1: 'дата', arra_2: 'параметр_1', ... array_n:'параметр_n'},
pop:ƒ(), 
push:ƒ(), 
shift:ƒ (), 
splice:ƒ (), 
unshift: ƒ (), 
_chartjs:{listeners: Array(1)}// и вот тут внутри тот же массив, а внутри него опять то же самое до бесконечности
]


Это вроде как из за того что я делаю array_1[i] ? Как правильно добавить объект getData к массиву array_1?:(

Artur_Hopf 14.05.2018 08:42

Кстати если делаю так, эффект такой же:
for (i = 0; i < getData.length; i++){

     array_1.push({x: getData[i].Datetime, y: +getData[i].sum});
    
};

Artur_Hopf 14.05.2018 08:55

Разобрался :dance:

ruslan_mart 14.05.2018 10:32

Artur_Hopf, это просто метод из prototype. Можете попробовать даже пустой массив вывести в консоль - будет то же самое.


Часовой пояс GMT +3, время: 12:06.