заполнение двумерного массива
всем здравствуйте!
подскажите, как правильно описать двумерный массив одну строку с начальным индексом не нулевым как в PHP $mass = array(1=>array(1,2), 2=>array(3,6), 3=>array(7,10)); т.е. получается что в таком массиве индекс первого элемента будет единица как сделать такое же в JS? P.S. пробовал написать вот так $mass = [1=>[1,2], 2=>[3,6], 3=>[7,10]]; ошибка $mass = [1=[1,2], 2=[3,6], 3=[7,10]]; ошибка $mass = [1:[1,2], 2:[3,6], 3:[7,10]]; ошибка |
Как вариант можно пропустить первые элементы при объявлении:
var arr = [,[1,2],[3,6],[7,10]] Правда свойство length массива всё равно считается по последнему индексу. Его конечно можно переопределить, но как-то это неправильно. А точно массив нужен? Может лучше использовать обычный объект с числовыми свойствами? Впрочем ничто не мешает написать функцию, которая будет генерировать массив так как надо. |
Может потратить всё-таки полчасика и почитать про элементарнейший базовый синтаксис языка, вместо того чтобы гадать на кофейной гуще?
|
Цитата:
Цитата:
он будет формироваться в PHP? а затем "распечатываться" в HTML Цитата:
|
Цитата:
Цитата:
В общем прямого аналога такого создания массива, как в PHP в JS нет. |
$mass = array(1=>array(1,2), 2=>array(3,6), 3=>array(7,10)); var array = []; array[1] = [1, 2]; array[2] = [3, 6]; array[3] = [7, 10]; var filtered = array.filter(function (value) { return value; }); array.length; // 4 filtered.length; // 3 Правда непонятно зачем вам нужен этот геморой. Цитата:
var map = { 1: [1, 2], 2: [3, 6], 3: [7, 10] }; Object.keys(map).length; // 3 |
Цитата:
alert( 0 in [, 1, 2] ); Но если обратиться к этому свойству, вернет undefined. Потому что несуществующее свойство возвращает undefined: alert( []['Да пох ваще, хоть к чему обращайся'] ); |
Цитата:
|
Цитата:
Цитата:
Хотя прогресс у них наблюдается. $object = (object) 'foo'; echo $object->scalar; // 'foo' print_r($object); // stdClass Object ( [scalar] => foo ) $object = (object) ['1' => 'foo', '2' => 'bar']; print_r($object); // stdClass Object ( [1] => foo, [2] => bar ) |
Цитата:
jQuery(function($) { var price_quantity = [, [1, 2], [3, 6], [7, 10]]; function check_quantity(variable) { var pq = price_quantity; if (variable.hasClass("jsPriceIndex")) { var val = parseInt(variable.val()); var qua = parseInt(jQuery('.jsQuantity').val(), 10); var qp = pq[val]; if (qua < qp[0]) { qua = qp[0]; } else if (qua > qp[1]) { qua = qp[1]; } else {} jQuery('.jsQuantity').val(qua); } else if (variable.hasClass("jsQuantity")) { var qua = parseInt(variable.val()); var val = 0; for (var i = 1; i <= pq.length-1; i++) { var qp = pq[i]; if (qua >= qp[0] && qua <= qp[1]) { val = i; } } jQuery(".jsPriceIndex[value='" + val + "']").prop('checked', true); } } }); Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 08:31. |