Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   не получается сформировать массив (https://javascript.ru/forum/css-html-browser/77634-ne-poluchaetsya-sformirovat-massiv.html)

figvam 29.05.2019 23:18

не получается сформировать массив
 
Здравствуйте. хочу создать массив определенной структуры.
при добавлении в него элементов через цикл for. почему-то происходит рекурсия и страница падает от количества элементов массива.

var icons = [];
var idIcon = 0;

createIcon("body","folder","folder");
createIcon("body","folder","folder");

function createIcon(location,type,name) {

  for (var i=0; i<icons.length;i++){
     if(icons[i].locationIcon === location){
            if(icons[i].nameIcon === name){
             idIcon++;
             icons.push({locationIcon:"body",typeIcon:"folder",nameIcon:"folder",idIcon:idIcon});
             console.log('create icon'+ icons[i].idIcon);
                }
             }
         }

    if (icons.length===0){
        icons.push({locationIcon:"body",typeIcon:"folder",nameIcon:"folder",idIcon:0});
      console.log('create icon 0');
    }

}

почему так происходит?

рони 29.05.2019 23:30

Цитата:

Сообщение от figvam
for (var i=0; i<icons.length;i++)

уберите icons.length

var len = icons.length;
for (var i=0; i<len;i++){


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