Показать сообщение отдельно
  #7 (permalink)  
Старый 01.02.2016, 22:44
Интересующийся
Отправить личное сообщение для angelzzz Посмотреть профиль Найти все сообщения от angelzzz
 
Регистрация: 20.12.2011
Сообщений: 29

Можете объяснить эту конструкцию:

$(function(){
var arr = [
{key:1, val:123, val2:1},
{key:2, val:223, val2:2},
{key:3, val:323, val2:2},
{key:4, val:423, val2:1}
],


Этой просто объявляется массив, тут понятно

obj = {}, a,b;


Это специально идет через обычную запятую? что делает эта част? просто присваивается в переменную obj массив и два значения?

Object.keys(arr).forEach(function (a) {
  var el = arr[a];
  obj[el.key] = [el.val,el.val2];
});


Это видимо перебор? Тут идет сравнение со значением из select?

$("#myselect").on("change", function() {
  var s = obj[this.value];
  a = s[0];
  b = s[1];
  $("p").html(a+ " - " + b)
}).change()


Вот эта часть у меня выдает ошибку, видимо потому что это и так находится все в функции изменения которой стоят на on.change. Вот так выдает ошибку

var arr = [
{key:1, val:123, val2:1},
{key:2, val:223, val2:2},
{key:3, val:323, val2:2},
{key:4, val:423, val2:1}
], obj = {}, a,b;
Object.keys(arr).forEach(function (a) {
  var el = arr[a];
  obj[el.key] = [el.val,el.val2];
});
 
  var s = obj[this.value];
  a = s[0];
  b = s[1];
  $("p").html(a+ " - " + b)
Ответить с цитированием