Вывод в цикле из массива

276
07 апреля 2018, 21:50

Проблема состоит в том, что

  • Первая строка: 150
  • Вторая строка: 150 200 500

То есть в первой все нормально, а далее видимо переменная сохрнаяет в себе прошлое и тоже добавляет. Как это исправить?

var t1 = '"1": {
                "title": "Высота",
                "idtitle": "1",
                "params": ["150"],
               "idParams": ["1"]
               },
          "2": {
                "title": "ширина",
                "idtitle": "2",
                "params": ["200","500"],
                "idParams": ["2","3"]
               }';
                    var infofilterss = JSON.parse(t1);
                    for (var i = 1; i < "3"; i++) {
                      for (var y = 0; y < infofilterss[i].params.length; y++) {
                          var datavivsinfoparams = infofilterss[i].params[y];
                          var licheck = licheck +'<li><label><div class="icheckbox"><input type="checkbox" name="hotel" style="position: absolute; opacity: 0;"><ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background: rgb(255, 255, 255); border: 0px; opacity: 0;"></ins></div>'+ datavivsinfoparams +'</label></li>';
                      }
                      $("#newfilterload").append(''
                        +'<div class="col-md-8 col-sm-6">'
                            +'<div class="titlepropstyle">'+ infofilterss[i].title +'</div>'
                                +'<ul class="checkboxes inline list-unstyled">'+ licheck +'</ul>'
                        +'</div>');
                    }
Answer 1

var licheck = licheck +'...' вот тут вы наращиваете переменную, каждый раз при проходе этого место к прошлому состоянию переменной прилепляется(конкатенация) новое состояние.

Answer 2
var licheck = ""; //обнулить переменную
for (var y = 0; y < infofilterss[i].params.length; y++) {
    var datavivsinfoparams = infofilterss[i].params[y];
    var licheck = licheck +'<li><label><div class="icheckbox"><input type="checkbox" name="hotel" style="position: absolute; opacity: 0;"><ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background: rgb(255, 255, 255); border: 0px; opacity: 0;"></ins></div>'+ datavivsinfoparams +'</label></li>';
}
READ ALSO
Не работает метод .join()

Не работает метод .join()

создавал консольную игру(я ещё начинающий программист на javascript) не работает функция:

231
Как начать понимать спецификации JavaScript?

Как начать понимать спецификации JavaScript?

Проблема в том, что я изучаю Java Script по мануалам и статьям, самостоятельноИспользую пока его просто для того, чтобы сделать тривиальные задачи

259