Многомерный массив
Здравствуйте. Мне нужно заполнить двумерный массив числами. Первый элемент это число от 0 до 50, а второй заполняется по формуле. Для простоты пускай первый будет равен i, а второй i+1. Формат, если что, нужен такой:data2 = [[0, 1], [1, 2], [2, 3], [3, 4],[4, 5],[5,6]]. Я просто строю график с помощью библиотеки flot,а синтаксис толком и не нашел для заполнения двумерного массива. Сделал так:
var d = []; for (i=0; i<50; i++) { d[i] = i; for (j=0; j<50; j++){ d[i][j] = i+1; }; }; alert(d[1][2]);. Но выводит undefined. Подскажите, пожалуйста, как это нормально реализовать. |
d[i] = [] |
var d = []; for (i=0; i<50; i++) { d[i] = [i, i+1]; }; |
a_l,
push, не? |
Спасибо за ответы, разобрался)
|
Nekromancer, гугл советует напрямую присваивать значения массиву там, где можно обойтись без push. Это быстрее.
|
Вот кот людей обманывает. Единтственный браузер, в котором это верно, это Opera, которую Google не поддерживает. Возможно и ИЕ, но я не верю в это (что там быстрее).
Что на самом деле быстрее, так это преалокация и последующее присвоение -- это быстрее во всех браузерах. В остальном, push быстрее так как это линейная операция, что то там. Вот тест: http://jsperf.com/push-vs-assing-vs-...loc-and-assing Даже в V8 всё не так, как написал Google. Только в SpiderMonkey от Mozilla бывают перепады настроения. То push быстрее, то pre-alloc, то при каких то условиях, на десятый раз теста и assing может быть быстрее. |
Часовой пояс GMT +3, время: 21:27. |