Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как обратиться к параметру объекта или массива (https://javascript.ru/forum/misc/78134-kak-obratitsya-k-parametru-obekta-ili-massiva.html)

Alex_dark74 31.07.2019 14:07

Как обратиться к параметру объекта или массива
 
Привет!
function create_print_list(){
  var pajes = $('.paje');
  var prin_list = {};
  var number_paje_blok_book = $('#number_paje_blok_book').val(); //Количество страниц в блоке
  var numbers_paje_tetrad = $('#numbers_paje_tetrad').val(); //Количество страниц в тетради
  var number_print_list = number_paje_blok_book/numbers_paje_tetrad //Количестыо печатных листов
  var temp_number_list = numbers_paje_tetrad;
  var numbers_tetrad = 1;

  $.each(pajes,function (index,value){ //Перебираем массив
    id = $(this).attr('id'); //Получаем ID
    //clas = $(this).attr('class');
    prin_list[id] = []; //Создаем элемент в  массиве
    prin_list[id]['numbers'] = id; //Добавляем параметр № страницы
    prin_list[id]['numbers_paje_tetrad'] = numbers_paje_tetrad; //Добавляем параметр количество страниц в тетради
    
    /*Проверка четно не четно*/
    if($(this).hasClass("add")){prin_list[id]['add_event'] = 'add'} // Если страница не четная то устанавливаем параметр add
    if($(this).hasClass("paje event")){prin_list[id]['add_event'] = 'event'} // Если страница четная то устанавливаем параметр event
    
    /*Проверка цветная или ЧБ*/
    if($(this).hasClass("black")){prin_list[id]['color'] = 'black'} // Если страница ЧБ то устанавливаем параметр black
    if($(this).hasClass("cmyk")){prin_list[id]['color'] = 'cmyk'}  // Если страница цветная то устанавливаем параметр cmyk
  });
  console.log(prin_list);
  $.each(prin_list,function (key, value){
    console.log($(this).attr('id'));
  });
}

И так я выбрал все дивы с классом page и дальше их перебрал в массив
На выходе получил:
1: Array(0)
add_event: "add"
numbers: "1"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)
2: Array(0)
add_event: "event"
numbers: "2"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)
3: Array(0)
add_event: "add"
numbers: "3"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)
4: Array(0)
add_event: "event"
numbers: "4"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)

Далее в процессе перебора хочу обратиться к "numbers" и получить "4"
Не пойму как это сделать. Пробую
$.each(prin_list,function (key, value){
    console.log($(this).attr('id'));
  });

Но что то не выходит

рони 31.07.2019 14:19

Цитата:

Сообщение от Alex_dark74
дальше их перебрал в массив

возможно вы спутали обьект и массив

ksa 31.07.2019 14:32

Цитата:

Сообщение от Alex_dark74
Как обратиться к параметру объекта или массива

Параметры бывают у функции или метода...

У массива или объекта бывают свойства и методы... Про что спрашиваешь ты?

Alex_dark74 31.07.2019 15:09

Да похоже я тут все перепутал. Мне нужно получить доступ в процессе перебора к numbers: "4"
В чем разница объекта и массива, кое где их объединяют в что то единое

ksa 31.07.2019 15:40

Цитата:

Сообщение от Alex_dark74
кое где их объединяют в что то единое

Объединять их ни как не получится...
Но один может быть частью другого.
Цитата:

Сообщение от Alex_dark74
В чем разница объекта и массива

Это разные "элементы" языка. Они имеют ряд специфичных методов и свойств.
https://javascript.ru/array
https://javascript.ru/object

ksa 31.07.2019 15:48

Цитата:

Сообщение от Alex_dark74
1: Array(0)
add_event: "add"
numbers: "1"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)
2: Array(0)
add_event: "event"
numbers: "2"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)
3: Array(0)
add_event: "add"
numbers: "3"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)
4: Array(0)
add_event: "event"
numbers: "4"
numbers_paje_tetrad: "2"
length: 0
__proto__: Array(0)

Если твою галиматью как-то путне записать...
Цитата:

Сообщение от Alex_dark74
Мне нужно получить доступ в процессе перебора к numbers: "4"

Как вариант...
var a=[
	{
		add_event: "add",
		numbers: "1",
		numbers_paje_tetrad: "2",
		length: 0
	},
	{
		add_event: "event",
		numbers: "2",
		numbers_paje_tetrad: "2",
		length: 0
	},
	{
		add_event: "add",
		numbers: "3",
		numbers_paje_tetrad: "2",
		length: 0
	},
	{
		add_event: "event",
		numbers: "4",
		numbers_paje_tetrad: "2",
		length: 0
	}
];
alert(a[3].numbers);


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