Javascript.RU

Массивы

Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/array.

Javascript поддерживает два вида структуры "массив":

  1. Ассоциативный массив (хеш), где данные хранятся по произвольному ключу.
    Об этом читайте в разделе Объекты.
  2. Числовой массив Array, где данные хранятся по номерам.
    Он описан в этой статье.

Javascript - очень гибкий язык, поэтому технически в Array можно хранить произвольные ключи, как в Object. Но лучше использовать типы по назначению.

Для хранения данных по номеру предназначен тип Array.

var arr = new Array()
arr.test = 5
arr[1] = "blabla"
...

В типе Array есть специальные методы, ориентированные именно на работу с числовыми ключами.

Есть два эквивалентных способа создания массива:

var a = new Array()
var a = []

Или, сразу со значениями

var a = new Array("a", 1, true)
var a = ["a", 1, true]

Эти способы работают одинаково, кроме объявления вида new Array(10), когда у конструктора есть единственный аргумент-число.

Такое объявление создаст пустой массив (все элементы undefined) длиной 10. По возможности, не используйте new Array.

Отсчет элементов начинается с нуля:

alert(a[0])   // => "a"

Массив хранит данные по численным ключам, но внутри он использует точно такой же хэш (ту же структуру данных), как и обычный объект, поэтому можно сделать так:

var a = []
a[1] = 1
a[999999] = 2

и массив a будет занимать память, нужную для хранения этих двух соответствий, а не займет длинный непрерывный кусок памяти, как это произошло бы в языке С.

У каждого массива есть свойство length, которое автоматом меняется при каждом обновлении массива. Длина массива - это не количество элементов, а максимальный целый ключ + 1:

alert(a.length) // всего 2 элемента, но выведет 1000000

Добавлять новый элемент можно эквивалентными вызовами

a[a.length] = "new element"
a.push("new element")

Перебор элементов обычно (когда индексы непрерывные) осуществляется простым циклом:

var arr = [ "array", "elements", "here" ]
for(var i=0; i<arr.length; i++) {
  ... сделать что-то с arr[i] ...
}

Если индексы - с разрывами, то перебор осуществляется так же, как в объектах:

var arr = []
arr[1] = 123
arr[9999] = 456

for(var i in arr) {
    if (!arr.hasOwnProperty(i)) continue;
   ... сделать что-то с arr[i] ...
}

В массиве есть всё необходимое, чтобы работать с ним как с очередью или со стеком, или и с тем и другим одновременно.

Методы push и pop добавляют или вынимают значение с конца массива

var arr = [3,5,7]
arr.push(9)
var last = arr.pop()    //= 9
var last = arr.pop()   // = 7
alert(arr.length)   // = 2

Методы shift/unshift делают то же самое, с начала массива.

var arr = [4,6,8]
arr.unshift(2) // arr = [2,4,6,8]
arr.unshift(0) // arr = [0,2,4,6,8]
var last = arr.shift() // last = 0, arr = [2,4,6,8]
arr.shift()  // arr = [4,6,8]

shift/unshift обычно приводят к перенумерации всего массива. shift сдвигает все элементы на единицу влево, а unshift - вправо. Поэтому на больших массивах эти методы работают медленнее, чем push/pop.

Массив

slice(begin[, end])

Возвращает подмассив с индексами begin…end.

splice(index, deleteCount[, element1,…, elementN])

Удалить deleteCount элементов, начиная с index, и вставить на их место element1…elementN

Есть и еще много методов:

  • join
  • reverse
  • ...

О них можно почитать на английском, например, в http://developer.mozilla.org/en/..Array


Автор: Гость (не зарегистрирован), дата: 15 октября, 2008 - 17:44
#permalink

Видел конструкцию типа:

a = new array(
{"attr1":"text1","attr2":"text2"}
{"attr1":"text3","attr2":"text4"}
);

Поясните, что это такое?


Автор: Илья Кантор, дата: 15 октября, 2008 - 19:58
#permalink

new Array() - это создание массива из аргументов.
Например, new Array(1,2,3) - массив из трех элементов: 1,2,3, такой же как и [1,2,3].

Аргументами в данном случае являются объекты. То есть, у тебя создается массив из двух объектов, каждый из которых задан как

{ свойство1: значение1, свойство2:значение2 }

Подробнее об объектах и задании объектов - см. Объекты Javascript в примерах.


Автор: Марк (не зарегистрирован), дата: 3 января, 2012 - 18:16
#permalink

Это массив обьектов

пример работы:

a = new Array(
{"attr1":"text1","attr2":"text2"},
{"attr1":"text3","attr2":"text4"}
);
alert( a[0].attr1 );   //Выведет "text1"
alert( a[1].attr2 );   //Выведет "text4"

Автор: Гость (не зарегистрирован), дата: 12 ноября, 2012 - 10:35
#permalink

Массив объектов!


Автор: andr. (не зарегистрирован), дата: 31 января, 2013 - 21:18
#permalink

!!! помогите

arr[4] = function(){
  return function() {
      как узнать что индекс массива 4
    }
}

Автор: Гость (не зарегистрирован), дата: 26 декабря, 2013 - 12:23
#permalink
var arr = ['zero','uno','due','tre'];
arr = arr.map(function(value, index, array){
    return function(){
        alert(index+': '+value);
    };
});
arr.forEach(function(fn){ 
    fn(); 
});

Автор: <?php echo $use..., дата: 1 апреля, 2019 - 13:39
#permalink

let arr=[5,2,3,6,4];

console.log(arr.indexOf(4));//4- это название элемента, если написать arr.indexOf(4,2) то 2 будет указывать к какого элемента надо начинать искать.


Автор: Гость (не зарегистрирован), дата: 2 декабря, 2019 - 19:04
#permalink

klass


Автор: Гость (не зарегистрирован), дата: 25 января, 2024 - 04:26
#permalink

As a final touch, the concept of player-curated in-game soundtracks allows individuals to personalize their gaming experience by selecting music playlists to accompany their battles, creating a unique and immersive atmosphere.
1v1 lol


Автор: Гость (не зарегистрирован), дата: 5 января, 2009 - 22:34
#permalink

А удалять массивы нужно и как вообще очистить существующий массив наиболее коректно?


Автор: Илья Кантор, дата: 31 октября, 2009 - 06:00
#permalink

Javascript автоматически очищает память, как и Java, в отличие от C/C++, поэтому вы можете присвоить переменной новый массив:

arr = [ ]

При этом старый объект-массив будет удален в процессе "сборки мусора".


Автор: Дзен-трансгуманист, дата: 3 августа, 2012 - 19:51
#permalink

Неверно. Если присвоить arr новый пустой массив, то "где-то в другом месте" у нас могут остаться ссылки на старый, из-за чего он останется висеть в хипе мертвым грузом, пока не исчезнут все остальные ссылки. Раз уж речь идет об очистке непосредственно объекта, а не ссылки на него, то делать нужно так:

arr.length = 0;

Автор: Гость (не зарегистрирован), дата: 7 сентября, 2012 - 10:18
#permalink

Наиболее корректно будет как уже ниже описал Дзен-трансгуманист
arr.length = 0;


Автор: zm8, дата: 24 марта, 2009 - 09:49
#permalink

Разрешите поинтересоваться, чем плох

var someArray = [];
/* бравые действия */
someArray = null;


Для последующей инициализации массива ещё раз объявляем его с ключевым словом var.
----------------------------------------
window.open(window.location);


Автор: betaev (не зарегистрирован), дата: 6 октября, 2009 - 16:28
#permalink

переменная удаляется только в том случае, когда перестаёт существовать замыкание в котором они объявлены, а оно перестаёт существовать, как выполнится соответствующая функция и исчезнут все ссылки на эту переменную вне замыкания.
повторное определение "var x" абсолютно ничего не даст, если в этом замыкании уже существует переменная "x".


Автор: Гость (не зарегистрирован), дата: 16 апреля, 2009 - 15:19
#permalink

как задать на яваскрипт двумерный массив...я кучу всего перепробовал неполучается...в браузере не отображается


Автор: Леонид Евстигнеев, дата: 27 мая, 2009 - 16:08
#permalink

Обычно это делается созданием массива каждый элемент которого тоже массив.


Автор: Гость (не зарегистрирован), дата: 27 апреля, 2012 - 09:25
#permalink
var m = [
    [1,2,3],
    [4,5,6]
]

Автор: Леонид Евстигнеев, дата: 27 мая, 2009 - 16:12
#permalink

Насчёт создания массивов

var a = new Array(10)
var a = [10]

Это далеко не эквивалентные строчки.
Первая создаст массив с длинной в десять элементов.
А вторая массив с одним элементом содержащим значением 10.
Это факт при незнании может приводить к логической ошибке.


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2014 - 11:25
#permalink

Верное замечание, только что наткнулся на подобную проблему...


Автор: Гость (не зарегистрирован), дата: 3 июня, 2009 - 12:56
#permalink

Люди помогите : " Размер массива определяет количество ... в массиве "
Вместо точек какое слово ставиться , плз помогите


Автор: Леонид Евстигнеев, дата: 3 июня, 2009 - 14:02
#permalink

Элементов.


Автор: proxima (не зарегистрирован), дата: 9 декабря, 2009 - 12:25
#permalink

Парень, ты что - тест сдавал? Какой-то слишком очевидный вопрос! Или плохо читал статью, или лучше займись чем-то кроме программирования.


Автор: Гость (не зарегистрирован), дата: 7 сентября, 2010 - 14:25
#permalink

О, да, ты у нас прямо гений программирования


Автор: Гость (не зарегистрирован), дата: 14 июля, 2009 - 08:57
#permalink

насколько я понял из статьи, в JavaScript массив - это не отдельный тип данных, а просто разновидность объекта? То есть если объект создаётся как ar = {}, то его можно считать ассоциативным массивом, ключи которого есть свойства и методы объекта, а если ar = [] или ar = new Array(), то это объект-массив-список + плюс к нему добавляются методы для работы с массивом-списком. Это правильные выводы?


Автор: Илья Кантор, дата: 7 октября, 2009 - 12:16
#permalink

Да, выводы правильные. При этом, если вы сделали массив Array - не рекомендуется использовать его как ассоциативный Object.


Автор: Гость (не зарегистрирован), дата: 27 октября, 2009 - 17:04
#permalink

Есть массив с прерывистыми индексами идущими не по порядку:

arr[25]     = 1;
arr[8]       = 2;
arr[1099]  = 3;

Вопрос: как пройти по этому массиву в порядке создания и при этом не сбросить ключи? Т.е. мне нужно получить все знаения в том порядке в котором они созданы (1, 2, 3) при этом внутри цыкла я должен знать ключ.
Если делаю for (var i in arr) { ... } - почему то перед проходом массив сортируется по ключу и обход идёт в порядке: 2, 1, 3.
Была мысль попробовать while ( var v = unshift(arr) ) { ... } но тогда я не узнаю индексы.


Автор: Vital (не зарегистрирован), дата: 30 октября, 2009 - 23:09
#permalink

подозреваю, что вы пользуетесь браузером Google Chrome версии 1 или 2, именно в них замечен подобный глюк, во всех остальных браузерах, включая Google Chrome 3, проход по массиву через for (.. in .. ) производится в том порядке, в котором элементы в этот массив помещены


Автор: Гость (не зарегистрирован), дата: 8 сентября, 2010 - 11:16
#permalink

Вообще-то так только в IE, а остальные как раз упорядочивают по индексу (пробовал в FF 3, Opera 10, IE 8, Chrome 4, Safari 4).


Автор: merzaff (не зарегистрирован), дата: 26 июня, 2010 - 05:13
#permalink

Это конечно не ответ на твой вопрос, но можно сделать так:

var array = [];

array.push({25:1});
array.push({8:2});
array.push({1099:3});
//or array = [{25:1},{8:2},{1099:3}]

for (var i=0; i < array.length; i++) {
   console.log(array[i])
}

Автор: sshishov, дата: 29 ноября, 2010 - 00:15
#permalink

Полностью поддерживаю. Для тиках манипуляций точно лучше использовать ассоциативные массивы, которые не привязаны жестко к ключу. Хотя в твоем случае очень похоже на очередь. Так что лучше юзать ассоциативный массив с вызовами методов очереди.


Автор: Yazla, дата: 24 ноября, 2009 - 12:38
#permalink

Скажите пожалуйста, если использую массив для хранения обьектов, то перед удалением массива надо обнулить все ссылки внутри?
То есть так:

for (var i = 0; i<arr.length; i++)
     arr[i] = null
arr = [];

Или обнулять каждый елемент не обязательно?

Спасибо.


Автор: subzey, дата: 24 ноября, 2009 - 16:05
#permalink

Не нужно. Просто задайте arr новое значение. Сборщик мусора сделает все за Вас.

В некоторых браузерах сборщик мусора можно вызвать явным образом, но, как правило, это не требуется. Мало какой массив сравнится по своей громоздкости с тем же объектом document (на этой странице к нему так или иначе прицеплено более трех тысяч объектов).

Кстати, оптимизируя память, обратите внимание на области данных (как по-русски назвать то, что на этом сайте именутеся {{scope}}?).
Пример:

var myHugeArray = Array(10000000000000000000000);

function deleteArray(){
var myHugeArray = null;
}

deleteArray();

Этот пример вовсе не удалит массив, а создаст новый элемент myHugeArray в области deleteArray, который успешно умрет когда функция отработает, т.е., сразу же.


Автор: Гость (не зарегистрирован), дата: 4 октября, 2010 - 00:43
#permalink

Ну, да, если в функции переменная объявляется через var, то со своей глобальной тезкой она ровным счетом ничего не сделает. Но стОит убрать var из фунции — и о, чудо!
Кстати, размер массива тоже надо немного урезать, а то фаербаг говорит, что таких массивов не бывает.

var myHugeArray = Array(1000000000);
alert("В массиве живет " + myHugeArray.length + " элементов.");
function deleteArray() {
	myHugeArray = null;
};
deleteArray();
if (myHugeArray == undefined) {
	alert("В массиве никого не осталось");
} else {
	alert("В массиве до сих пор живет " + myHugeArray.length + " элементов.");
};

Автор: blessmaster, дата: 18 января, 2011 - 17:05
#permalink

///
как по-русски назвать то, что на этом сайте именутеся {{scope}}?

***
область видимости


Автор: Gro (не зарегистрирован), дата: 29 июня, 2014 - 09:31
#permalink

Scope - область видимости.


Автор: Гость (не зарегистрирован), дата: 6 декабря, 2009 - 15:58
#permalink

подскажите пжл как мне задать двумерный массив(в виде матрицы) чтоб элементы задавались random...если можно то попроще))


Автор: subzey, дата: 7 декабря, 2009 - 17:58
#permalink

Создать массив массивов. Если еще актуально.


Автор: sshishov, дата: 29 ноября, 2010 - 00:50
#permalink

Создается и печатается как то так, ну а Рандом уже сам найдешь, я думаю.

function myFunction(sizeX,sizeY) {
  myArr = Array(sizeX);
  for(var i=0;i<myArr.length;i++){
    myArr[i] = Array(sizeY);
    for (var j=0;j<myArr[i].length;j++){
      myArr[i][j] = '['+(i+1)+']['+(j+1)+']';
    }
  }
}

function printArray(){
  var output = "";
  for(var i=0;i<myArr.length;i++){
    for (var j=0;j<myArr[i].length;j++){
      output+= myArr[i][j]+' ';
    }
    output+="\n";
  }
  alert(output);
}

var myArr;
myFunction(9,9);
printArray();

Автор: Гость (не зарегистрирован), дата: 14 декабря, 2009 - 19:05
#permalink

подскажите что я делаю не так....мне нужно ввести матрицу размера n на n случайным образом....

n=prompt("Введите н","");
Math.random(10);
var v=new Array(Math.random());
for(i=0;i');


Автор: Гость (не зарегистрирован), дата: 6 января, 2010 - 00:01
#permalink

Скажите, а что должно происходить в этом случае:

ar1=["tutu"];

function (){
let ar2 = [];
ar2["a1"]="aa";
ar2["a2"]="bb";
ar1=ar2;
return ar2;
}

что вернёт функция? Что после её отработки будет в ar1?


Автор: B@rmaley.e><e (не зарегистрирован), дата: 6 января, 2010 - 15:03
#permalink

Пожалуй, ничего. Этот код вызовет ошибку синтаксиса.


Автор: Гость (не зарегистрирован), дата: 4 октября, 2010 - 00:58
#permalink

Если let заменить на var и дать функции какое-нибудь имя, при запуске она вернет ассоциативный массив:

  • "a1" => "aa"
  • "a2" => "bb"

В ar1 будет точно такой же массив.


Автор: Гость (не зарегистрирован), дата: 28 января, 2010 - 20:44
#permalink

Скажите, как найти индекс элемента в массиве?


Автор: B@rmaley.e><e, дата: 28 января, 2010 - 20:58
#permalink

В новых браузерах есть метод indexOf (как у строки).
Для остальных нужно что-то вроде

if(!Array.prototype.indexOf)
	Array.prototype.indexOf = function(searchElement, fromIndex){
		for(var i = fromIndex||0, length = this.length; i<length; i++)
			if(this[i] === searchElement) return i;
		return -1
	};

Автор: Гость (не зарегистрирован), дата: 19 марта, 2011 - 10:16
#permalink

>>this[i] === searchElement

Не знаю зачем нужно тройное равно, но у меня заработало только когда я превратил его в двойное.


Автор: Гость (не зарегистрирован), дата: 28 января, 2010 - 21:41
#permalink

Значит, IE6 уже не новый... Впрочем, это и так ясно. Спасибо.


Автор: Гость (не зарегистрирован), дата: 12 апреля, 2010 - 13:51
#permalink

а как удалить элемент массива зная его значение


Автор: B@rmaley.e><e, дата: 12 апреля, 2010 - 16:05
#permalink

Найти индекс и удалить как обычный.

var myArr = [3,4, 5.32, 'val', 'value3', 'value'];
delete myArr[myArr.indexOf('value')];
alert(myArr)

P.S. Только indexOf не всеми браузерами поддерживается, поэтому для некоторых придется писать свою версию.


Автор: lahmatiy (не зарегистрирован), дата: 13 апреля, 2010 - 18:48
#permalink

Мне кажется, что Вы дали не совсем корректный совет. Потому как delete удалит ключ из массива (индекс), само значение тоже "пропадает", но длина массива от этого не изменится (кстати вас не смутила запятая в конце?).
Полное удаление будет выглядеть так:

var myArr = [3,4, 5.32, 'val', 'value3', 'value'];
myArr.splice(myArr.indexOf('value'), 1);
alert(myArr);

Для удаления с конца массива больше подойдет myArr.pop(), а с начала myArray.shift().


Автор: bayah (не зарегистрирован), дата: 22 апреля, 2010 - 06:47
#permalink

Господа, есть вопрос:
Мне нужно создать двумерный массив с двумя параметрами. Я делаю это создавая двумерный массив n на 2. То есть n - число элементов. А 2 - собственно место для двух параметров. Написал я вот так.

var buffer_a = new Array()
...

buffer_a.push(new Array(true, 'id'))
 
alert(alert(buffer_a[0][0]+' '+buffer_a[0][1]))
buffer_a.pop
alert(alert(buffer_a[0][0]+' '+buffer_a[0][1]))

При первом вызове alert выдает, то же что и при втором, то есть я так понимаю, pop не удаляет элемент и при абсолютной адресации я опять получу его значение. Как тогда определить мне количество элементов?

buffer_a.lenght почему-то выдает undefined

Подскажите я вообще правильно делаю все? Может есть способ сделать проще?


Автор: bayah (не зарегистрирован), дата: 22 апреля, 2010 - 07:17
#permalink

Пардон, это я length неправильно написал.)
Ну все равно, насчет способа реализации. Может есть проще?


Автор: bayah (не зарегистрирован), дата: 22 апреля, 2010 - 13:23
#permalink

Еще вопрос, товарищи, как определить индекс по элементу в двумерном массиве. Например так:

a = new Array()
a[0] = new Array(1, 2)
a[1] = new Array(2, 3)
...

Теперь как мне найти индекс массива с элементом (2, 3). indexOf я так понимаю не поможет здесь?


Автор: гость Артём (не зарегистрирован), дата: 18 мая, 2010 - 12:54
#permalink

подскажите, почему она s выдает как строку, а не считает сумму?

<МЕТА content="text/html; charset=windows-1251" http-equiv="Content-Type">

var d =new Array();
for(i=0;i<5;i++)
{

d[i]=prompt("Введите число","");

document.write ("d["+i+"]="+d[i]+"");
}

alert ("сейчас будет хрень") ;
var s=1;
for(i=0;i<5;i++)
{
s+=d[i];
}
document.write("summ="+s);


Автор: Гость (не зарегистрирован), дата: 20 мая, 2010 - 09:50
#permalink

Попробуй
d[i] = parseInt(prompt(...) || '0');


Автор: Janus, дата: 18 ноября, 2010 - 15:20
#permalink

Потому что prompt() возвращает строку.
Можно так
d[i]=+prompt("Введите число","");


Автор: BlackScorp (не зарегистрирован), дата: 18 мая, 2010 - 17:01
#permalink

Поиск индекса свойства по его значению или определение индекса многомерного масива по значению.

Object.prototype.indexOf=function(value){
	var index=new Array()
	for(prop in this)
	{
		if(prop!="indexOf")
		{
			index=[];
			if(this[prop]===value)
			{
				if(arguments.length>1)
				{
					for(var i=0;i<arguments[1].length;i++)
						index.push(arguments[1][i]);
				}
				index.push(prop);
			 	return index;
			}
			if(arguments.length>1)
			{
				for(var i=0;i<arguments[1].length;i++)
					index.push(arguments[1][i]);
			}
			index.push(prop);
			index=this[prop].indexOf(value,index);
		}
	}
	return index;
}

Автор: BlackScorp (не зарегистрирован), дата: 18 мая, 2010 - 17:04
#permalink

Точнее

Object.prototype.indexOf=function(value){
	var index=new Array()
	for(prop in this)
	{
		if(prop!="indexOf")
		{
			index=[];
			if(arguments.length>1)
			{
				for(var i=0;i<arguments[1].length;i++)
					index.push(arguments[1][i]);
			}
			index.push(prop);
			if(this[prop]===value)
			{
			 	return index;
			}
			index=this[prop].indexOf(value,index);
		}
	}
	return index;
}

Автор: Гость (не зарегистрирован), дата: 12 июня, 2010 - 00:27
#permalink

Народ, подскажите нубу
Opera, IE, Chrome, Safari глотают эту функцию,
а Firefox не хочет, в чём дело?

function parseTable(v) {
var tbls =document.getElementById('table_tr');
for (var r=0; r


Автор: Гость (не зарегистрирован), дата: 12 июня, 2010 - 00:30
#permalink

Народ, подскажите нубу
Opera, IE, Chrome, Safari глотают эту функцию,
а Firefox не хочет, в чём дело?

function parseTable(v) {
var tbls =document.getElementById('table_tr');
  for (var r=0; r<tbls.rows.length; r++) {
 for (var c=0; c<tbls.rows[r].cells.length; c++) {
var cls = tbls.rows[r].cells[c];
if (cls.innerText==v) cls.style.background = "yellow";
else cls.style.background = "white";
}}
}

Ссори, не правильно оформил первый пост.


Автор: Гость (не зарегистрирован), дата: 14 августа, 2010 - 17:53
#permalink

Потому что вместо cls.innerText в FireFox нужно использовать cls.textContent


Автор: Гость (не зарегистрирован), дата: 20 октября, 2017 - 08:57
#permalink

по моему ты селектор не верно написал #table_tr


Автор: Гость (не зарегистрирован), дата: 13 июня, 2010 - 17:30
#permalink

Никак не пойму как определить длинну ассоциативного массива. С обычным массивом без ключей фу-ия length работает нормально....а вот с ассоциативным массивом трабл выходит =/

вот пример:

var test = new Array();

test['one'] = 1;
test['two'] = 2;

//дальше идет определение кол-ва элементов в массиве

$('printDiv').innerHTML = + "Кол-во элементов:" + test.length;
<div id="printDiv"></div>

в итоге в браузере отображается undefined!!! =/ Что я неправильно делаю ? =)


Автор: aldr61 (не зарегистрирован), дата: 13 июня, 2010 - 19:44
#permalink


var nelem = 0
for(var i in arr) { nelem++ }

Может так? У меня работает...


Автор: merzaff (не зарегистрирован), дата: 26 июня, 2010 - 06:13
#permalink

По идее, когда мы пишем

test['one'] = 1;
test['two'] = 2;

это эквивалентно

test.one = 1;
test.two = 2;

Получается, что Вы прибавляете к объекту типа Array новые свойства.
по идее в ваше примере длинна как была ноль (когда вы объявляли new Array()) так и осталась равной нулю, так как написав "test['one'] = 1;" вы не положили данные в массив, а создали новое свойство у объекта test.

15.4 Объекты Array

Сам тип Array это не ассоциативный массив, а обычный индексный массив.
Ассоциативные массивы в javascript заменяют объекты

var o = {} // or new Object()
o.one = 1     // одно
o["one"] = 1  //  и тоже

Автор: Гость (не зарегистрирован), дата: 27 августа, 2010 - 15:30
#permalink

почему a!=b при
a = new Array(1,2,3)
b = new Array(1,2,3)
?


Автор: Илья Кантор, дата: 28 августа, 2010 - 01:40
#permalink

Потому что любые два разных объекта не равны (пункт стандарта 11.9.3).

alert([] == [])

Автор: Гость (не зарегистрирован), дата: 21 сентября, 2010 - 16:45
#permalink

А как выглядит функция, которая создает двумерный массив?


Автор: Тобик (не зарегистрирован), дата: 24 сентября, 2010 - 12:49
#permalink

Подскажите, пожалуйста, если вообще разница между такими строками:
var name = new Array();
var name = Array();
Методы массива работают в обоих случаях.


Автор: berdartem, дата: 27 октября, 2010 - 12:29
#permalink

заметил одну особенность IE6: он не поддерживает создание массивов в таком виде

var myArr = [3,4, 5.32, 'val', 'value3', 'value'];

Ему надо только так:

var myArr = new Array(3,4, 5.32, 'val', 'value3', 'value');

Почему-то об этом нигде тут не сказано....


Автор: B@rmaley.e><e, дата: 27 октября, 2010 - 22:01
#permalink

Не может такого быть! Сейчас нет под рукой IE6, чтобы проверить, но за все время веб-разработки не припомню проблем с такой инициализацией массива.


Автор: Гость (не зарегистрирован), дата: 27 июля, 2011 - 09:57
#permalink

Вся линейка ИЕ очень болезненно реагирует на конструкцию вида [1, 2, 3,] (обратите внимание на запятую в конце списка)


Автор: AlexAkbaef (не зарегистрирован), дата: 12 ноября, 2010 - 21:07
#permalink

У меня еть отсортованный масив. Как мне организовать посчёт количества одинаковых элементов в нём?


Автор: sdiemen (не зарегистрирован), дата: 19 декабря, 2010 - 01:37
#permalink

Почему массив растет и появляются элементы со значением undefined?
Подскажите где можно найти информацию на эту тему.

function randomArray(){
var a=new Array(0,1,2,3,4,5,6,7,8,9);
for(i=0;i


Автор: blessmaster, дата: 18 января, 2011 - 17:19
#permalink

Интересная статья, но для сайта позиционирующегося как русскоязычный справочник по javascript - слабовато. Хорошо бы описать все функции до конца, а ссылку на MDN поправить - она ведёт в никуда. (Правильная ссылка https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Arr...)


Автор: revenant (не зарегистрирован), дата: 29 января, 2011 - 21:02
#permalink

Подскажите, пожалуйста. Почему не работает поиск по массиву. Количество элементов в числовом массиве 7982. Поиск на странице осуществляется с помощью функции:

function ResetSearch()
{
LastMatch = 0;
for(var i = 1; i <=Fields; i++)
{
document.SearchForm.elements[i+3].value = "";
}
}


Автор: Гость (не зарегистрирован), дата: 1 февраля, 2011 - 22:05
#permalink

подскажите пожалуйста как создать двумерный массив из 300 целых элементов и каждое 2 число обнулить?


Автор: abc_ua, дата: 28 февраля, 2011 - 00:20
#permalink

Здравствуйте, есть функция которая возвращает двумерный массив

function create_mas(elem) {
...
mas = [[x,y], [], []];
return mas
}

чтобы получить значение x, нужно написать mas[0][0], НО когда я в другой функции делаю так:

function test(elem) {
var mas = create_mas(elem);
}

то чтобы добраться до того же значения приходится писать mas[0][0][0], почему так?


Автор: Matre, дата: 17 марта, 2011 - 14:31
#permalink

В статье не сказано, что свойство length можно менять. Например, если уменьшить на единицу, то последний элемент массива удалится. Это не сравнить с оператором delete, который оставляет пропуск в массиве.
Можно написать функцию, которая нормально удаляет элемент из массива, а не через одно место:

Array.prototype.remove = function (index) {
	for (var i = index; i < this.length; i++)
		this[i] = this[i + 1];
	this.length--;
};

var A = [0, 1, 2, 3, 4, 5];
A.remove(3);
alert(A); // [0, 1, 2, 4, 5]

Автор: Lexx (не зарегистрирован), дата: 1 апреля, 2011 - 10:09
#permalink

Это не будет работать правильно, надо подправить так:

Array.prototype.remove = function (index) {
    if(this.length>1) {
        for (var i = index-0; i < this.length; i++)
            this[i] = this[i+1];
    }
    this.pop();
};

Уменьшать длину недостаточно.


Автор: Matre, дата: 3 апреля, 2011 - 10:01
#permalink

Покажите пример, когда будет работать неправильно?

В мой код нужно лишь добавить проверку на пустой массив:

if (this.length === 0)
	return;

А так всё правильно.


Автор: Гость (не зарегистрирован), дата: 31 августа, 2011 - 18:01
#permalink

А чем вам не нравится
A.splice(3, 1) ?
Нативный метод, как ни крути, быстрее


Автор: abc_ua, дата: 6 апреля, 2011 - 17:13
#permalink

Объясните пожалуйста, почему при вызове функции изменится глобальный массив?

var massive = [1,2,3,4,5];
function func(m) {
var mas = m;
for (i = 0; i < mas.length; i++)
mas[i] = mas[i]*mas[i];

return mas;
}
alert(massive+" -------> "+func(massive)+" -------> "+massive);


Автор: Matre, дата: 7 апреля, 2011 - 03:56
#permalink

Изменяется не сам массив, а свойства 0..mas.length (которые перебираются в цикле), т.е. его элементы.

Чтобы этого не происходило, пишите так:

function func(m) {
var mas = []; // Создаём новый массив
for (i = 0; i < mas.length; i++)
mas[i] = m[i]*m[i]; // Теперь берём своства у m, переданного в аргументе

return mas;
}

Автор: abc_ua, дата: 7 апреля, 2011 - 08:27
#permalink

Спасибо


Автор: Гость (не зарегистрирован), дата: 31 августа, 2011 - 18:03
#permalink

Потому что аргументы-объекты передаются в функцию по ссылке, а не по значению.


Автор: dante, дата: 4 мая, 2011 - 16:22
#permalink

Как узнать, сколько та или иная переменная, либо массив занимает памяти?
Нужно для оптимизации.


Автор: Гость (не зарегистрирован), дата: 31 августа, 2011 - 18:04
#permalink

Если ещё актуально - дохлый номер.
Стандарт не описывает внутреннюю реализацию. разработчики браузеров могут хранить переменные как им заблагорассудится.


Автор: Гость (не зарегистрирован), дата: 29 мая, 2011 - 17:17
#permalink

подскажите пожалуйста, почему переменная poly выводиться в alert как NaN
function res(){
var X = new Array();
var Y = new Array();
for (i=0; i<=$("#txt").val(); i++){
X[i] = $("#iks"+i).val();
Y[i] = $("#igr"+i).val();
}
for (i=0; ii){ temp = (Y[i]-Y[j])/(X[i]-X[j]);
Y[j]=temp;}
}
}

var poly=Y[0];
poly = parseInt(poly);
var mn=1;
//mn = parseInt(mn);
for (i=0; i


Автор: Sapsan (не зарегистрирован), дата: 29 июня, 2011 - 10:20
#permalink

Подскажите как создать массив в объекте, есть (загвоздка возникает как его прописать в конструкторе или есть другие способы):

//конструкор
    function car(id,name){
        this.id = id;
        this.name = name;
        this.arr = Array();  //Массив будет содержать значения типа arr[0]="green"; arr[1]="red";
	}
   
    var o = Array();  //массив объектов
    o[0] = new car(1, "Vaz");
    o[1] = new car(2, "Gaz");
	 
    for (var i = 0; i < o.length; i++)
            document.write(o[i]["id"]+o[i]["name"]);

Автор: Павел Солнце (не зарегистрирован), дата: 29 июня, 2011 - 22:15
#permalink
//конструкор
    function car(id,name, colors){
        this.id = id;
        this.name = name;
        //Array - the default value with element silver
        this.colors = colors ? colors : Array('silver');
	}
   
    var o = Array();  //массив объектов
    o[0] = new car(1, "Vaz", ['red','blue']);
    o[1] = new car(2, "Gaz");
	 
    for (var i = 0; i < o.length; i++)
            document.write('id:'+o[i].id+', name:'+o[i].name+', colors: ['+o[i].toString()+']');

Автор: Павел Солнце (не зарегистрирован), дата: 29 июня, 2011 - 22:19
#permalink

Упрощаем и убираем ошибки:

//конструкор
    function car(id,name, colors){
        this.id = id;
        this.name = name;
        //Array - the default value with element silver
        this.colors = colors ? colors : ['silver'];
	}
   
    var o = Array();  //массив объектов
    o[0] = new car(1, "Vaz", ['red','blue']);
    o[1] = new car(2, "Gaz");
	 
    for (var i = 0; i < o.length; i++){
    var el = o[i];
    console.log('id:'+el.id+', name:'+el.name+', colors: ['+el.colors.toString()+']');
}

Автор: Sapsan (не зарегистрирован), дата: 30 июня, 2011 - 12:57
#permalink

Очень признателен вам Павел за вашу помошь. Если честно я уже разобрался, но всеже интересен и ваш вариант.
1. Мне не совсем понятно зачем выполнять проверку на условие? (т.е. если colors undefined то мы ему присваиваем цвет silver)

this.colors = colors ? colors : ['silver'];

2. Просто делает дальнейший текст более читабельным?

var el = o[i];

Мой вариант:

//конструкор
    function car(id,name, colors){
        this.id = id;
        this.name = name;
        this.colors = colors;
    }
    
    var o = Array();  //массив объектов
    o[0] = new car(1, "Vaz", ['red','blue']);          //массив определен с помощью литерал
    o[1] = new car(2, "Gaz", new Array('green')); //массив определен с помощью конструктора
      
    for (var i = 0; i < o.length; i++){
         document.write('id:'+o[i].id+', name:'+o[i].name);
         for(var k = 0; k < o[i]["colors"].length; k++) //массив вывожу не как строчку из за того что между элементами нужно выводить другую информацию
        document.write(' colors'+(k+1)+': ['+o[i].colors[k]+']');
}
// так как o[i].id и o[i]['id'] идентичны пишим кому как нравится :)

Автор: melky, дата: 10 июля, 2011 - 17:23
#permalink

1. нет. если приведение colors к булеву типу дает false, то присваиваем ей(переменной) массив, состоящий из одного значения - строки 'silver'
т.е. код

this.colors = colors ? colors : ['silver'];

означает это

this.colors = Boolean( colors ) ? colors : ['silver'];

/* что и как, какие типы при приведении дают false, вы можете почитать тут */

2. Да. Но на самом деле, в FF наблюдается серьёзный прирост тормозов при использовании цепочки вроде

o[i].id

Конечно, наблюдается, когда число обращений к o[i] исчисляется десятками.


Автор: Александр_Александрович (не зарегистрирован), дата: 7 июля, 2011 - 13:21
#permalink

Спасибо Админу за такую инфрмативную заметку. Есть один вопрос: как суммировать только чётные элементы массива? Заранее спасибо.


Автор: melky, дата: 10 июля, 2011 - 17:15
#permalink

очень просто :

// наш массив, сумма и длина массива
var arr = [ 1,2,3,4,5,6,7,8,9,10 ],
     summ=0,
     i = arr.length;

// проходимся по всему массиву.. В обратном порядке
// Если нет остатка деления на два (четное число), то
// складываем. Переменная суммы определена заранее.
while( i-=1 >0 ) arr[i] % 2 ===  0 && ( summ += arr[i] );

alert( summ );

вместо i-- написал i -= 1, потому что мне так больше нравится, и так чуть быстрее


Автор: visster (не зарегистрирован), дата: 20 июля, 2011 - 10:42
#permalink

Скажите, а как сделать рандомную выборку из массива?


Автор: melky, дата: 31 июля, 2011 - 14:24
#permalink
a=['a','b','c','d'];

alert( a[ parseInt(Math.random()*a.length) ] );

Автор: gribikc (не зарегистрирован), дата: 30 июля, 2011 - 23:14
#permalink

Добрый день. что не так.....

var a=new Array(new Array());

a[0].push('a');
a[1].push('b');

помогите


Автор: gribikc (не зарегистрирован), дата: 31 июля, 2011 - 00:32
#permalink

var a=[[],[]];

a[0][1]='0';
a[1][1]='a';
a[1][2]='b';
a[1][3]='c';
a[1][4]='d';
a[1][5]='e';
a[1][6]='f';
a[2][0]='g';

анологично...


Автор: melky, дата: 31 июля, 2011 - 14:17
#permalink

нумерация начинается с нуля

var a=[[],[], *!*[]*/!*];

a[0][1]='0';
a[1][1]='a';
a[1][2]='b';
a[1][3]='c';
a[1][4]='d';
a[1][5]='e';
a[1][6]='f';
a[2][0]='g';

Автор: gribikc (не зарегистрирован), дата: 31 июля, 2011 - 15:20
#permalink
var a=[[],[],[]];

a[0][0]='a';
a[20][0]='b';
a[30][0]='c';

тоже самое...

у меня массив с пропусками...

//a[0].push(new Array('3','1','a03'));
//a[1].push(new Array('4','1','b24'));
в идеале вот так должно быть

где косячу...


Автор: Гость (не зарегистрирован), дата: 29 мая, 2013 - 07:35
#permalink

Добрый день! После вашего метода, у меня выводит ошибку "TypeError: can't convert undefined to object"

var x = [[],[],[]];
for( i=1; i<=3; i++ )
	for( j=1; j<=3; j++ )
		x[i][j] = document.getElementById('idX'+i+j).value;

document.getElementById('res').innerHTML = x[1][2];

Что можно сделать? Помогите!


Автор: Гость (не зарегистрирован), дата: 15 августа, 2013 - 10:44
#permalink

а почему в первой строке не
var a=new Array();


Автор: Pavel_xunter (не зарегистрирован), дата: 7 октября, 2011 - 11:15
#permalink

Жаль, что push не возвращает экземпляр массива, чтобы можно было сделать так:

[]
.push({})
.push({})
.push({})
.push({})
.push({});


Автор: melky, дата: 8 октября, 2011 - 11:40
#permalink

это уже паттерн, который можно реализовать

ну или дописать самому.

Array.prototype.chainPush = function(a){this.push(a);return this};

var a = [].chainPush("О").chainPush("П").chainPush("А");

alert( a )

Автор: Гость (не зарегистрирован), дата: 27 апреля, 2012 - 09:43
#permalink

Цепочки вызовов. Я вас люблю!


Автор: Гость (не зарегистрирован), дата: 9 октября, 2011 - 23:35
#permalink

По возможности, не используйте new Array.

Если не секрет, почему? Где подводные камни? Unsure


Автор: Гость (не зарегистрирован), дата: 27 апреля, 2012 - 09:42
#permalink

лично я никогда не использую new Array(), во-первых из-за минимализма, наверное (всегда стараюсь привести размер js-файла к минимуму, почему-то кажется, что от этого страница быстрее грузиться будет), во-вторых из-за мистичности new Array() в зависимости от количества аргументов (я так считаю, ибо мышление такое). То есть, где-то выше уже сказано:

Если эти строки идентичны:

var a = [10,20];  // Создание массива с двумя элементами 10 и 20
var a = new Array(10,20) // то же самое

То эти совсем нет:

var a = [10];  // Создание массива с одним элементов 10
var a = new Array(10) // А вот тут подводный камень: создаётся массив из 10 элементов, равным undefined, нежданчик

Автор: yrvas, дата: 13 ноября, 2011 - 15:56
#permalink

Я - "чайник", поэтому не удивляйтесь супер простому вопросу. У меня числовые данные для анализа размещены в достаточно большом массиве (около 3000 строк и 10 столбцов). Массив представлен в виде файла. Как средствами JS считывать последовательно данные из столбцов и где должен быть размещён массив?

Заранее спасибо.

С уважением yrvas


Автор: jokeroto (не зарегистрирован), дата: 21 декабря, 2011 - 21:48
#permalink

Видимо речь идет о таблице *.xls, тогда нужно получить доступ к объектам EXEL. Покопайтесь в макросах Екселя чтобы получить названия и свойства объектов. Кроме того нужно будет научиться запускать Ексель методами Windows Script Host.


Автор: dims, дата: 24 декабря, 2011 - 23:03
#permalink

А что означает фраза "Длина массива - это не количество элементов, а максимальный целый ключ + 1"?

Разве массивы

var a = new Array(10);
var b = new Array(2);

имеют какой-либо (и отличающийся) максимальный целый ключ?


Автор: B@rmaley.e><e, дата: 25 декабря, 2011 - 17:23
#permalink

В Вашем случае никаких значений не создаётся (соответственно, и ключей нет), устанавливается лишь значение length. Зато в случае

var a = [];
a[10] = 5;
alert(a.length) // 11?

В массиве явно меньше 11 элементов, но length == 11.


Автор: Гость (не зарегистрирован), дата: 26 декабря, 2011 - 13:32
#permalink

Здравствуйте! Может вопрос и глупый но все же, можно как нибудь вот в этом скрипте
var arr_id = new Array();

arr_id[i] = 7;

';
вместо i подставлять ранее объявленную в php?


Автор: jokeroto (не зарегистрирован), дата: 8 января, 2012 - 22:45
#permalink

php формирует html поток документа, соответственно все решение проблемы будет заключаться в php echo $i в нужном месте формируемого документа.


Автор: Гость (не зарегистрирован), дата: 3 января, 2012 - 18:24
#permalink

Пожалуйста объясните почему при присвоении элементу массива значения может возникать ошибка: Uncaught TypeError: cannot set property '4' of undefined? Справиться с ней не удалось пока никак. Такая же ошибка возникает при добавлении элемента через push. Заранее спасибо.


Автор: SanaPo_ (не зарегистрирован), дата: 8 января, 2012 - 17:15
#permalink

народ подскажите плиз как элементам массива присвоить значение других массивов. Var ar=new Array(); var m=new Array(); ar[1]=1;ar[2]=1;m[1]=new Array();m[1]=ar; дальше присваиваем ар'у другие значения и м.2=ар, в итоге м содержит два ар как ссылки на ар


Автор: Гость (не зарегистрирован), дата: 8 января, 2012 - 22:50
#permalink

m[1][0]=ar


Автор: SanaPo, дата: 9 января, 2012 - 11:13
#permalink

var ar=new Array();
var m=new Array();
for(var i=0;i<8;i++){ar[i]=new Array();for(var j=0;j<8;j++){ar[i][j]='x';}}
m[1]=ar;
for(var i=0;i<8;i++){ar[i]=new Array();for(var j=0;j<8;j++){ar[i][j]='y';}}
m[2]=ar;
for(var i=0;i<8;i++){ar[i]=new Array();for(var j=0;j<8;j++){ar[i][j]='i';}}
alert(m);

//в итоге выведет дважды значение массива ар. М1.0=ар не помогает, тк надо сначало м.1 сделать массивом, а это тоже самое: задача: элементам массива присвоить значения других массивов. Не уж то писать отдельную функция и присваивать каждое конечное значение тысяч ячеек многомерных массивов?


Автор: jokeroto (не зарегистрирован), дата: 9 января, 2012 - 11:32
#permalink

Действительно при попытке присвоить переменной или элементу массива значение объекта (массива), будет создаваться ссылка на объект, а не его копия. Попробуйте ar.concat


Автор: jokeroto (не зарегистрирован), дата: 9 января, 2012 - 11:25
#permalink

Метод Array.concat() создает и возвращает новый массив, содержащий элементы
исходного массива, для которого был вызван метод concat(), последовательно до
полненный значениями всех аргументов, переданных методу concat(). Если ка
койлибо из этих аргументов сам является массивом, в результирующий массив
добавляются его элементы. Однако обратите внимание, что рекурсивного разде
ления массивов из массивов не происходит. Вот несколько примеров:
var a = [1,2,3];
a.concat(4, 5) // Возвращает [1,2,3,4,5]
a.concat([4,5]); // Возвращает [1,2,3,4,5]
a.concat([4,5],[6,7]) // Возвращает [1,2,3,4,5,6,7]
a.concat(4, [5,[6,7]]) // Возвращает [1,2,3,4,5,[6,7]]


Автор: frant23 (не зарегистрирован), дата: 18 января, 2012 - 14:26
#permalink

Добрый день, подскажите как осуществить замену элементов массива например нужно в массиве

var a =  [1,2,3,4]

поменять местами

a[1]

и

a[4]

?????


Автор: Гость (не зарегистрирован), дата: 25 января, 2012 - 20:18
#permalink

frant23,

// без создания новой перемонной
var a =  [1,2,3,4]; 
alert(a); // вывод [1,2,3,4]
a[3] = a[3] + a[0];
a[0] = a[3] - a[0];
a[3] = a[3] - a[0];
alert(a); // выведет [4,2,3,1]

А как определить массив или объект?
например:
a = {}; // создаем объект с методами и свойствами
b = []; // создаем массив с элементами

alert( typeof a ); // выведет 'object'
alert( typeof b ); // выведет 'object'

проверять методы push и другие не катит, в объекте могут эти методы тоже присутствовать


Автор: Cube (не зарегистрирован), дата: 3 февраля, 2012 - 09:12
#permalink
{
    var a = {};
    var b = [0,1];
// .lenght ?
    console.log('a`s TYPE === ' + typeof a + ' === length is '+a.length);
    console.log('b`s TYPE === ' + typeof b + ' === length is '+b.length);
// .__proto__ ?
    console.log(a); console.log(b); console.log(a.__proto__);
}

Автор: Гость (не зарегистрирован), дата: 27 апреля, 2012 - 09:50
#permalink
var a = [1,2,3,4];
[a[0],a[3]] = [a[3],a[0]]
alert(a); // 4, 2, 3, 1

P.S. Малоизвестная фишка, между прочим. Другой пример:

var a = 1;
var b = 6;

[a, b] = [5, 8]; // присвоили обоим переменным другие значения
alert(a); // 5
alert(b); // 8

[a, b] = [b, a]; // поменяли местами
alert(a); // 8
alert(b); // 5

Автор: EmilT (не зарегистрирован), дата: 5 февраля, 2012 - 20:29
#permalink

почему так неопределенно все, в объекте может быть объявлено свойство length.
Никакой логики у этого JS! через жопу надо реализовывать обычные задачи, ппц....


Автор: EmilT (не зарегистрирован), дата: 5 февраля, 2012 - 20:35
#permalink
var a = [1,2,3]
Array.isArray(a)

ппц..


Автор: Sn0oSm0oMrIK (не зарегистрирован), дата: 8 февраля, 2012 - 17:15
#permalink

А возможно ли в js сложить числовые массивы в таком виде:

[3,3]+[1,2] // =>[4,5]

Автор: mj4444 (не зарегистрирован), дата: 28 февраля, 2012 - 02:33
#permalink

var a = []
a[1] = 1
a[999999] = 2
и массив a будет занимать память, нужную для хранения этих двух соответствий, а не займет длинный непрерывный кусок памяти, как это произошло бы в языке С.

Ошибаетесь, a.length = 1000000
а значение типа 999999999 убивает браузер вообще...


Автор: Гость (не зарегистрирован), дата: 21 марта, 2012 - 14:10
#permalink

Здравствуйте! Мне нужно убрать нули из массива, данные считываются с листа в exsel, по данному алгоритму y(i) почему-то просто копирует х(i) в чем дело?

For i = 1 To n
For j = 1 To n
x(i) = Cells(i, 1).Value
y(i) = 0
If (x(i) <> 0) Then y(i) = x(i)
Cells(i, 6).Value = y(i)
Next j
Next i


Автор: Гость (не зарегистрирован), дата: 29 марта, 2012 - 12:09
#permalink

А зачем - j?
А, вообще "y(i) = 0" всегда ноль, а когда x не ноль, то y(i) = x(i)
А почему x не должен повторять y?


Автор: Гость, дата: 28 марта, 2012 - 23:23
#permalink

Нашёл обидную ошибку в IE8 с лишней запятой:
IE8: ['a','b',].length -> 3
FF11: ['a','b',].length -> 2
IE8: ['a','b'].length -> 2
FF11: ['a','b'].length -> 2

Обидная, бо обычно пишем так:
var a = [
'grrrrA',
'grrrrB',
'grrrrC',
];
Последняя лишняя запятая ошибкой не считается.
А вот теперь, если перебирать массив в IE8, то получим лишний эллемент:
for(var i = 0; i < a.length; i++) {
a[i];//в самом конце это даст undefined Sad
}


Автор: Гость (не зарегистрирован), дата: 29 марта, 2012 - 18:48
#permalink

Большое спасибо! Не так давно натыкался на такую проблему но суть не сразу понял, решил что просто лишняя запятая и убрал ее не задумываясь, теперь хоть понял суть


Автор: Гость (не зарегистрирован), дата: 12 апреля, 2012 - 17:54
#permalink

Всем доброго времени суток! Я начинающий прогер, подскажите, чего я не понимаю, плиз!!!
Var A=new Array();
var B=new Array();

1 вариант:
len=A.length+B.length;
C=new Array(len-1); - в массиве С появляется 1 лишний элемент, пустой в конце.

2 вариант:
len=A.length+B.length-1; а тут все нормально, почему?
C=new Array(len);


Автор: ApD, дата: 10 февраля, 2013 - 19:27
#permalink

Приведите полный код с наполнением массива. Так можно долго гадать.


Автор: Гость (не зарегистрирован), дата: 16 мая, 2012 - 15:19
#permalink

как вывести номер строки ?


Автор: Гость (не зарегистрирован), дата: 16 мая, 2012 - 15:20
#permalink

массив [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]


Автор: Mikle, дата: 21 мая, 2012 - 13:38
#permalink

Я просто оставлю это здесь:

function unset( obj, key ) {
( Array.isArray(obj)? obj.splice(key, 1) : delete obj[key] );
}


Автор: Гость (не зарегистрирован), дата: 15 июня, 2012 - 03:07
#permalink

Кто нибудь может по простому написать пример как создать двумерный массив? Две недели убил на поиски. Везде одно и то же. Такое впечатление что все друг у друга передирают эти примеры.
А как вам вот это, цитирую -

"... Если в качестве элементов некоторого одномерного массива создать массивы, то получится двумерный массив. Обращение к элементам такого массива происходит в соответствии со следующим синтаксисом:
имя_массива[индекс_уровня1] [индекс_уровня2]" ?

А где же пример его создания???

Подскажите пожалуйста, как создать пустой двумерный динамический массив, что-бы в него можно было поместить, например содержимое таблицы размер которой заранее не известен.


Автор: zenitchik (не зарегистрирован), дата: 3 августа, 2012 - 13:26
#permalink

Нету в Javascript двумерных массивов. Тупо нету.
Если он вам нужен - эмулируйте его с помощью массива массивов.


Автор: Mikle, дата: 10 августа, 2012 - 02:28
#permalink

Молодой человек, вы сделали мой день.
var my_array = [];

my_array[0] = [];
my_array[0][0] = 'holyfuckingshit1';
my_array[0][1] = 'holyfuckingshit2';

my_array[1] = [];
my_array[1][0] = 'facepalm1';
my_array[1][1] = 'facepalm2';

print_r( my_array );


Автор: zenitchik (не зарегистрирован), дата: 10 августа, 2012 - 13:33
#permalink

Если мордопальма адресована мне, то Вы написали именно то, что я говорил.
Эмуляцию многомерного массива при помощи массива массивов.
Многомерного же массива как сущности в JavaScript - нет.


Автор: SoloD (не зарегистрирован), дата: 14 ноября, 2012 - 21:20
#permalink
var A = new Array(n)
for (i = 0; i< n; ++i)
A[i] = new Array(m)

Автор: Гость (не зарегистрирован), дата: 23 августа, 2012 - 11:26
#permalink

Вот вам пример моего собственного написанного оператора для javascript массива.
данный оператор хорошо использовать в очередях хранения.

function vector() // оператор очереди
	{
  		this.begin=null;
  		this.end=null;
  		this.zn=null;
		this.write=function(x)
		{
			if(this.end==null)this.begin=this.end=new vector();
			else{this.end.end=new vector();this.end=this.end.end;}				
			this.end.end=null;
			this.end.zn=x;
		}
		this.read=function()
		{
			if(this.begin==null)return null;
			else return this.begin.zn;
		}		
		this.del=function()
		{
			this.zn=this.begin.end;
			delete this.begin;
			this.begin=this.zn;
		}
		this.size=function()
		{
			var s=0;
			this.zn=this.begin;
			while(this.zn!=null){s++;this.zn=this.zn.end;}
			return s;	
		}
	}
var q=new vector(); // создаем очередь
var text;
q.write(1);
q.write(7);
q.write(5);             // добавляем в очередь 1,7,5
text="количество: "+q.size().toString(); // проверяем количество перемены в очереди
q.del();                 // удаляем из начала очереди перемену (1)
text=text+"\nчтение из очереди: "+q.read().toString(); // читаем из очереди 
q.del();
text=text+"\nчтение из очереди: "+q.read().toString();
q.del();
text=text+"\nколичество: "+q.size().toString();
text=text+"\nвозвращает null т.к. очередь пуста: "+q.read();
alert(text);

Автор: SoloD (не зарегистрирован), дата: 14 ноября, 2012 - 21:16
#permalink

Товарищи, нужно удалить из двумерки строку / столбец.
] A = [4][4], тогда при удалении 2 строки все индексы смещаются (т.е на месте 2й будет 3я, на месте 3й - 4я)
как это сделать не перемещая в цикле строки?


Автор: Solod (не зарегистрирован), дата: 14 ноября, 2012 - 21:35
#permalink

и соответственно не создавая буфферный массив


Автор: Гость (не зарегистрирован), дата: 26 декабря, 2012 - 08:37
#permalink

помогите составить прграмму определения каких эллементов в масиве больше четных или нечетных


Автор: Трололош (не зарегистрирован), дата: 13 января, 2013 - 02:26
#permalink

помогите решить задачу по раскрою листа (необходимо разложить и выявить на какой формат больше помещается),
если каждому элементу 1го массива присвоить каждый элемент 2го массива.(все находится в одном столбце т.е если t1=400 то t2 = 145)
t1= [400,200,345, n...] //длинна листа
t2 = [145,235,456,n...] //ширина листа
я знаю x и у. Теперь мне нужно 1) x/t1 *y/t2 и 2) x/t2 и y/x1 и затем выбрать
вариант 1 или 2 в зависимости от того на каком больше.


Автор: ApD, дата: 11 февраля, 2013 - 12:15
#permalink

del


Автор: adr6t7 (не зарегистрирован), дата: 25 февраля, 2013 - 15:07
#permalink

Помогите ответить на один вопрос:

Есть функция, она подписывает функцию на сообщения издателя (паттерн observer)

Function.prototype.subscribe = function (publisher, eventSource)
{
publisher.addListener(eventSource, this);

if (typeof this.subscribeList == 'undefined')
this.subscribeList = [];

//Функция сохраняет издателей, на которые она подписана
this.subscribeList.push(publisher);

return this;
}

используется она так:

function a(msg, source)
{
...
}

a.subscribe(publisher, eventsType);

Теперь вопрос:

Как мне сделать поиск по массиву this.subscribeList, чтобы поиск происходил не полным перебором.

или вопрос по другому:
у меня есть callback функция f(), как мне вычислить ключ K(f) с которым я запишу эту функцию в массив, чтобы во время поиска я мог применить сортировку

Извините за сумборность изложения, дайте пинок в нужном направлении


Автор: Артём56 (не зарегистрирован), дата: 5 марта, 2013 - 14:53
#permalink

Помогите решить: Задан массив, содержащий несколько нулевых элементов. Требуется сжать его, выбросив эти нулевые элементы.


Автор: Гость (не зарегистрирован), дата: 25 марта, 2013 - 00:36
#permalink

Есть массив.Как из него удалить ячейки с повторяющимся ID.

var strings = [{ID:1, l:1},
                 {ID:2,l:1},
                 {ID:3,l:1},
                 {ID:1,l:1},
                 {ID:2,l:1}];

Автор: Гость (не зарегистрирован), дата: 24 апреля, 2013 - 16:23
#permalink

Есть массив int [] array={1,2,3,4,5,6}
К каждому чётному числу массива включая 0, нужно прибавить 1.
Вот не как не пойму. Есть соображения у кого нибудь?


Автор: Гость (не зарегистрирован), дата: 24 апреля, 2013 - 16:25
#permalink

Есть массив int [] array={1,2,3,4,5,6}
К каждому чётному числу массива включая 0, нужно прибавить 1.
Вот не как не пойму. Есть соображения у кого нибудь?


Автор: Гость (не зарегистрирован), дата: 20 сентября, 2013 - 09:53
#permalink

function f(array) {
for (var i = 0; i


Автор: Гость (не зарегистрирован), дата: 20 сентября, 2013 - 09:57
#permalink

Чёрт, коммент обрезался.

function f(array) {
  for (var i=0; i<array.length; i++) {
    if ( (array[i] % 2) === 0 ) {
      array[i] += 1;
    }
  }
};

Примерно так.


Автор: Гость (не зарегистрирован), дата: 24 апреля, 2013 - 17:16
#permalink

Есть массив int [] array={1,2,3,4,5,6}
К каждому чётному числу массива включая 0, нужно прибавить 1.


Автор: zoOmer, дата: 31 мая, 2013 - 11:14
#permalink

Есть скрипт вывода изображения от времени дня!

var timer_img;
function img_change(){
var pic = document.getElementById('top_img');
if(!pic)return;
if(timer_img) window.clearTimeout(timer_img);
var img = new Array();
img[0]="ссылка на изображения";
img[7]="ссылка на изображения";
img[14]="ссылка на изображения";
img[21]="ссылка на изображения";
var now = new Date();
var hours = now.getHours();
var url='';
for (i in img ){if(i<=hours&&img[i]) url=img[i]};
if(url=='') url=img[i];
pic.src=url;
var next = new Date();
next.setHours(+1,0,0,0);
timer_img=window.setTimeout(arguments.callee, next.getTime()- now.getTime())
}
img_change();

Так вот подскажите пожалуйста как каждому изображению присвоить свой title='текст' ???


Автор: Гость (не зарегистрирован), дата: 13 июня, 2013 - 09:08
#permalink

помогите пожалуйста вот двуммерный массив с 2 циклами

var myFamily = new Array(["t", "i", "m", "u", "r"], ["r", "e", "v", "i", "n"], ["a", "r", "t", "e", "m"], ["e", "l", "e", "n", "a"], ["r", "a", "i", "s", "a"]);
for (var i = 0; i < myFamily.length; i++) {
for (var j = 0; j < myFamily.length; j++) {
document.write(myFamily[i][j] + "");
}
}

он все буквы выодит столбиком, а нужно чтоб таблицей помогите пожалуйста!


Автор: Гость (не зарегистрирован), дата: 18 июня, 2013 - 16:26
#permalink

Люди а подскажите как сделать перебор в обратную сторону в цикле без метода reverse ?


Автор: Гость (не зарегистрирован), дата: 15 августа, 2013 - 10:48
#permalink

for(i=mas.lenght;i>=0;i--)


Автор: Гость (не зарегистрирован), дата: 16 сентября, 2013 - 12:42
#permalink

Вопрос такой: функция фозвращает массив:

var a = f_test (x)
function f_test {
if (x) {return [1,2,3];} else ????
}

как вернуть пустой массив в случае х=false: else return null; или как-то иначе?


Автор: Гость (не зарегистрирован), дата: 20 сентября, 2013 - 09:43
#permalink

var a = f_test (x)
function f_test {
if (x) {
return [1,2,3];
} else {
return [];
}
}


Автор: Aleksei (не зарегистрирован), дата: 5 декабря, 2013 - 17:27
#permalink

У вас неправильно описана функция slice.
Функция на самом деле возвращает подмассив с индексами begin…end-1. Поправьте пожалуйста, а то я полчаса провозился, пока это выяснил опытным путём. Может это сэкономит время кому-нибудь.


Автор: Гость (не зарегистрирован), дата: 23 февраля, 2014 - 23:35
#permalink

Помогите. Не могу сделать массив с подсчетом кол-ва положительных элементов.
Вот что я сделал:

Function Pol()
{
var arr =[0,2,-12,-5,9,7];
var amount=0;
for(var i=0;i0)amount+=1;
alert('кол-во положительных='+amount);
}

"input type="button" value="Подсчитать количество положительных элементов" onclick="Pol();"


Автор: Гость (не зарегистрирован), дата: 27 февраля, 2014 - 12:43
#permalink

var arr=[];
alert(arr instance Array);//true
alert(arr instance Object);//false

var obj={};
alert(obj instance Array);//false
alert(obj instance Object);//true

Не ругайте JavaScript, Всё в нем логично)


Автор: Гость (не зарегистрирован), дата: 27 февраля, 2014 - 12:45
#permalink

Опечатка

var arr=[];
alert(arr instanceof Array);//true
alert(arr instanceof Object);//false

var obj={};
alert(obj instanceof Array);//false
alert(obj instanceof Object);//true

Не ругайте JavaScript, Всё в нем логично)


Автор: saves7, дата: 1 августа, 2014 - 07:37
#permalink

Добрый день! Хотелось бы по подробней узнать о создании массива из изображений. А то про это нигде особо не пишется. Что в этом коде можно поправить?

<html>
<head>
	<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>


<body>
<script language="javascript">

arrimg=new Array();

arrimg1=new Image();
arrimg2=new Image();
arrimg3=new Image();
arrimg4=new Image();
arrimg5=new Image();


arrimg1.src="prised.JPG";
arrimg2.src="vverh.JPG";
arrimg3.src="prised.JPG";
arrimg4.src="prised.JPG";
arrimg5.src="prised.JPG";


function start() {

    document.getElementById("pict1").innerHTML=arrimg[1];
   /* document.getElementById("pict2").innerHTML=arrimg[1].src;
    document.getElementById("pict3").innerHTML=arrimg[2].src;*/
    document.write(arrimg[1]);

}




</script>

<div id="pict1">
	        Картинка 1

	    </div>

<div id="pict2">
	        Картинка 2
	    </div>

<div id="pict3">
	        Картинка 3
	    </div>

   <div id="knopka1">
	    	<input type="button" value="Start" onclick="start();" />
	    </div>
</body>
</html>

Автор: saves7, дата: 1 августа, 2014 - 07:37
#permalink

Добрый день! Хотелось бы по подробней узнать о создании массива из изображений. А то про это нигде особо не пишется. Что в этом коде можно поправить?

<html>
<head>
	<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>


<body>
<script language="javascript">

arrimg=new Array();

arrimg1=new Image();
arrimg2=new Image();
arrimg3=new Image();
arrimg4=new Image();
arrimg5=new Image();


arrimg1.src="prised.JPG";
arrimg2.src="vverh.JPG";
arrimg3.src="prised.JPG";
arrimg4.src="prised.JPG";
arrimg5.src="prised.JPG";


function start() {

    document.getElementById("pict1").innerHTML=arrimg[1];
   /* document.getElementById("pict2").innerHTML=arrimg[1].src;
    document.getElementById("pict3").innerHTML=arrimg[2].src;*/
    document.write(arrimg[1]);

}




</script>

<div id="pict1">
	        Картинка 1

	    </div>

<div id="pict2">
	        Картинка 2
	    </div>

<div id="pict3">
	        Картинка 3
	    </div>

   <div id="knopka1">
	    	<input type="button" value="Start" onclick="start();" />
	    </div>
</body>
</html>

Автор: Гость (не зарегистрирован), дата: 23 декабря, 2014 - 01:07
#permalink

Помогите пожалуйста Из массива JJ(100) в массив NN(100) перенести числа(элементы массива): сначала нечетные, а затем четные.


Автор: Гость (не зарегистрирован), дата: 1 марта, 2015 - 21:31
#permalink

Игорь, я согласна с Вами, но мне кажется, правильнее писать в кавычках, например, "У{{{{"


Автор: Legion13, дата: 18 марта, 2015 - 17:15
#permalink

Такой проблема, как перебирать массив, если ключи у него заданные? То есть имеет вид:

var m = {'key1':'value1', 'key2':'value2', ..}

обращение к элементу типа

m[1]

канает


Автор: Гость (не зарегистрирован), дата: 31 марта, 2015 - 20:51
#permalink

Ну и каким образом сделать динамическое создание ассоциативного массива, как например в php, делающееся следующим образом:

$array['динамическая переменная раз']['динамическая переменная два'] = value;

???


Автор: Гость (не зарегистрирован), дата: 5 мая, 2015 - 06:29
#permalink

Вы ещё живы? Мне очень очень нужна помощь!!! Я не могу понять задачку.
Задача: В целочисленной последовательности есть нулевые элементы.
Создать массив из номеров этих элементов.

Помогите пожалуйста


Автор: Гость (не зарегистрирован), дата: 11 июля, 2015 - 22:52
#permalink

Что это значит?

  1. for(int i : b)
  2. s += i;

Автор: Элах, дата: 29 октября, 2015 - 22:50
#permalink

Как сделать так что бы 1 + 1 получался 2 а не 11
alert(a+b);
Показывает 11 а нужно 2


Автор: Гость (не зарегистрирован), дата: 2 ноября, 2015 - 20:18
#permalink

как можна написат цикл набарот пахоже

for (i=5;i<=1;i--)

Автор: Серенд (не зарегистрирован), дата: 25 февраля, 2016 - 22:43
#permalink

Подскажите пожалуйста, как найти количество положительных элементов одномерного массива?


Автор: Гость (не зарегистрирован), дата: 12 марта, 2016 - 20:57
#permalink

Интересно, как такое вот чудо будет работать?
slice(begin[, end])

Если вы напишите slice(1[, 5]) - это будет полная белиберда.

Потому что правильно вот так:
slice(begin, end)

Например,
var str ="Вот такая строка"
str.slice(0,2) // "Во"
str.slice(1,-1) // "от такая строк"


Автор: nemezida.su (не зарегистрирован), дата: 25 сентября, 2016 - 10:08
#permalink

Ребята, добрый день.
Че-то не могу сообразить, наверно, уработалась. Как ввести элементы массива через форму?
Вот моя конструкция в упрощенной форме (для одного элемента). Но ее результат indefined, несмотря на наличие value.
Вижу, что что-то не так, но не могу уловить мысль((

var FF = [];
.......................

document.write(FF[1])


Автор: Size472415 (не зарегистрирован), дата: 7 ноября, 2016 - 18:30
#permalink

Сделайте массив что-бы при смене сервера был новый массив куда подключаются боты и очещение старого масива с ботами


Автор: Anderson (не зарегистрирован), дата: 23 февраля, 2017 - 21:51
#permalink

Приветствую! Помогите, пожалуйста, решить задачку.
Имеется массив (Array) и некая переменная (print), которой присвоено имя массива. Нужно извлечь данные из массива используя имя этого массива из переменной print.

Array = ['145','146','147','155']
print = 'Array';

Автор: Гость (не зарегистрирован), дата: 6 октября, 2017 - 13:24
#permalink

Есть ли в js какой-либо аналог оператора диапазона? В нормальных языках вместо [1,2,3,4,5] можно написать [1..5]


Автор: ГостьЛюдмила (не зарегистрирован), дата: 18 ноября, 2017 - 16:44
#permalink

Ребята, помогите написать програмку!!
Згенерувати і вивести на екран масив з цілого числа n і випадкових чисел від -150 до 145. Число n вводить користувач. Знайти добуток номерів найменших елементів серед додатніх.


Автор: Гость (не зарегистрирован), дата: 27 ноября, 2017 - 23:18
#permalink

Здравствуйте. Как можно оптимизировать поиск элементов в массиве и минимизировать обращения к ним. То есть, если в массиве от 1 до 20 искать пропущенный элемент, например 7, как это сделать с минимумом обращений и как узнать какое количество этих обращений будет?


Автор: Гость (не зарегистрирован), дата: 30 ноября, 2017 - 10:22
#permalink

сложить числа до пропуска и после него. Разность и есть пропущенное число


Автор: Гость (не зарегистрирован), дата: 4 октября, 2018 - 12:56
#permalink

Материал очень помогает при разработке сайтов и программ. Учебник полезный.


Автор: samuelddarden (не зарегистрирован), дата: 19 июля, 2019 - 02:24
#permalink

I am always searching online for articles that can help me in my programming course. There is obviously a lot to know about this. I think you made some good points in Features also. Keep working, great job! subterfuge game


Автор: Гость (не зарегистрирован), дата: 4 марта, 2020 - 13:09
#permalink

I have read your article, I find the content quite interesting and detailed, I hope in the near future, you will have more interesting and meticulous articles to give readers insight. More about this issue, Thank you for sharing this article.
fnaf
.


Автор: osama shk (не зарегистрирован), дата: 18 марта, 2020 - 18:17
#permalink

Wonderful article, thanks for putting this together! This is obviously one great post. Thanks for the valuable information and insights you have so provided here.
ハワイアンジュエリー


Автор: Гостьsd (не зарегистрирован), дата: 21 марта, 2020 - 14:15
#permalink

Thank you so much for sharing this great blog.Very inspiring and helpful too.Hope you continue to share more of your ideas.I will definitely love to read.
cyprus registrar search


Автор: osama shk (не зарегистрирован), дата: 27 марта, 2020 - 23:31
#permalink

This article is an appealing wealth of informative data that is interesting and well-written. I commend your hard work on this and thank you for this information. You’ve got what it takes to get attention.
ハワイアンジュエリー 結婚指輪


Автор: osama shk (не зарегистрирован), дата: 2 мая, 2020 - 14:55
#permalink

Impressive web site, Distinguished feedback that I can tackle. I am moving forward and may apply to my current job as a pet sitter, which is very enjoyable, but I need to additional expand. Regards.
post free local ads


Автор: Avrora (не зарегистрирован), дата: 3 июня, 2020 - 13:57
#permalink

Glad to join your community, found a lot of useful information, thanks guys!
jiofi local


Автор: john bond (не зарегистрирован), дата: 15 июля, 2020 - 17:47
#permalink

Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts.
gel antibacterial hand sanitizer Exportar


Автор: john bond (не зарегистрирован), дата: 24 июля, 2020 - 21:30
#permalink

This is actually the kind of information I have been trying to find. Thank you for writing this information.
cuentos cortos méxico


Автор: john bond (не зарегистрирован), дата: 30 июля, 2020 - 00:55
#permalink

I found this is an informative and interesting post so i think so it is very useful and knowledgeable. I would like to thank you for the efforts you have made in writing this article.
CHEAP CELEBREX 100MG


Автор: john bond (не зарегистрирован), дата: 31 августа, 2020 - 17:17
#permalink

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.. Guia de empresas


Автор: osama shk (не зарегистрирован), дата: 7 сентября, 2020 - 13:03
#permalink

Thanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for.
Europa-Road nemzetközi szállítmányozás Franciaország


Автор: apk (не зарегистрирован), дата: 23 сентября, 2020 - 08:52
#permalink

Thanks for the array definition and implementation. I will try this in my website to extend features


Автор: Гость (не зарегистрирован), дата: 23 сентября, 2020 - 08:54
#permalink

I am planning to build a web blog named alloappapkdownload.xyz to download application in the order of the updated dates. is it possible with array implementation.


Автор: menok (не зарегистрирован), дата: 24 сентября, 2020 - 20:09
#permalink

this is really nice to read..informative post is very good to read..thanks a lot!


Автор: john bond (не зарегистрирован), дата: 24 сентября, 2020 - 20:10
#permalink

I have not any word to appreciate this post.....Really i am impressed from this post....the person who create this post it was a great human..thanks for shared this with us.
mudanças df


Автор: osama shk (не зарегистрирован), дата: 3 октября, 2020 - 13:23
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
empresa de mudanças em brasilia


Автор: john bond (не зарегистрирован), дата: 11 октября, 2020 - 14:19
#permalink

This was a really great contest and hopefully I can attend the next one. It was alot of fun and I really enjoyed myself..
moveis sob medida brasilia


Автор: john bond (не зарегистрирован), дата: 12 октября, 2020 - 13:55
#permalink

I appreciate everything you have added to my knowledge base.Admiring the time and effort you put into your blog and detailed information you offer.Thanks.
Các sản phẩm nhôm cạnh tranh trên thị trường


Автор: john bond (не зарегистрирован), дата: 14 октября, 2020 - 14:43
#permalink

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..
Mẫu cửa nhôm phòng ngủ xingfa hiện đại


Автор: john bond (не зарегистрирован), дата: 16 октября, 2020 - 13:59
#permalink

This type of message always inspiring and I prefer to read quality content, so happy to find good place to many here in the post, the writing is just great, thanks for the post.
xiaomi m365 upgrade


Автор: osama shk (не зарегистрирован), дата: 20 октября, 2020 - 12:23
#permalink

I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
ovente electric kettle


Автор: osama shk (не зарегистрирован), дата: 26 октября, 2020 - 17:33
#permalink

I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
tennis forum


Автор: john bond (не зарегистрирован), дата: 30 октября, 2020 - 15:27
#permalink

I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement the concept. Thank you for the post.
MBDI Dépannage Remorquage Transport à Roubaix et ses environs


Автор: osama shk (не зарегистрирован), дата: 7 ноября, 2020 - 11:37
#permalink

This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting this again.
Seven Cities Church VA


Автор: osama shk (не зарегистрирован), дата: 20 ноября, 2020 - 16:07
#permalink

I know your expertise on this. I must say we should have an online discussion on this. Writing only comments will close the discussion straight away! And will restrict the benefits from this information.
financial coach marketing


Автор: 먹튀검증커뮤니티 (не зарегистрирован), дата: 22 ноября, 2020 - 05:42
#permalink

Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking. 먹튀검증커뮤니티


Автор: 소액대출 (не зарегистрирован), дата: 22 ноября, 2020 - 05:43
#permalink

The post is written in very a good manner and it contains many useful information for me. 소액대출


Автор: osama shk (не зарегистрирован), дата: 22 ноября, 2020 - 19:42
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
دورات لغة انجليزية


Автор: osama shk (не зарегистрирован), дата: 7 декабря, 2020 - 14:22
#permalink

it was a wonderful chance to visit this kind of site and I am happy to know. thank you so much for giving us a chance to have this opportunity..
vận chuyển xe ô tô bắc nam


Автор: osama shk (не зарегистрирован), дата: 7 декабря, 2020 - 16:19
#permalink

Fantastic blog! Do you have any tips and hints for aspiring writers? I’m planning to start my own website soon but I’m a little lost on everything. Would you propose starting with a free platform like WordPress or go for a paid option? There are so many options out there that I’m completely overwhelmed .. Any suggestions? Many thanks!
law firm Georgia


Автор: เว็บพนัน บาคาร่า (не зарегистрирован), дата: 10 декабря, 2020 - 15:47
#permalink

This is actually the kind of information I have been trying to find. Thank you for writing this information.


Автор: osasma shk (не зарегистрирован), дата: 10 января, 2021 - 15:19
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
pousada rio araguaia


Автор: osama shk (не зарегистрирован), дата: 16 января, 2021 - 17:07
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
ügyvéd Debrecen cégalapítás


Автор: osama shk (не зарегистрирован), дата: 16 января, 2021 - 18:14
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
nemzetközi szállítmányozás Debrecen


Автор: osama shk (не зарегистрирован), дата: 19 января, 2021 - 13:08
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
p402 asbestos


Автор: osama shk (не зарегистрирован), дата: 24 января, 2021 - 16:42
#permalink

Thanks for sharing this information. I really like your blog post very much. You have really shared a informative and interesting blog post with people..
Buy Gmail Accounts


Автор: osama shk (не зарегистрирован), дата: 7 февраля, 2021 - 16:36
#permalink

I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
coronavirus cozumel


Автор: osama shk (не зарегистрирован), дата: 9 февраля, 2021 - 15:03
#permalink

Admiring the time and effort you put into your blog and detailed information you offer!..
ponds redditch


Автор: Гость (не зарегистрирован), дата: 9 февраля, 2021 - 15:05
#permalink

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..
ponds redditch


Автор: rick_77, дата: 11 февраля, 2021 - 14:52
#permalink

Граждане знающие.
Существует ли шаблон для решения такой задачи:
- текстовый файл, в нём заголовок (текстовая информация);
- далее заголовок таблицы;
- и данные в таблице (числа).
Необходимо выбрать этот текстовый файл, спарсить его и записать в массив числа, для последующего оперирования цифр, а после выгрузить данные в экселевский файл.
Вот такой вот запрос.


Автор: osama shk (не зарегистрирован), дата: 13 февраля, 2021 - 14:42
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
serralheria asa norte


Автор: Гость (не зарегистрирован), дата: 13 февраля, 2021 - 15:32
#permalink

Interesting post. I Have Been wondering about this issue, so thanks for posting. Pretty cool post.It 's really very nice and Useful post.Thanks
reforma de sofá em brasília


Автор: mature sex uk (не зарегистрирован), дата: 23 февраля, 2021 - 19:16
#permalink

mature sex uk website is the place with tons of UK mature ladies looking for fun time with you


Автор: osama shk (не зарегистрирован), дата: 2 марта, 2021 - 17:21
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
best place to stay Cozumel


Автор: osama shk (не зарегистрирован), дата: 3 марта, 2021 - 16:02
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
all inclusive cozumel trips


Автор: Гостьsad (не зарегистрирован), дата: 7 марта, 2021 - 08:40
#permalink

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post.
where to snorkel in cozumel


Автор: Гостьsad (не зарегистрирован), дата: 9 марта, 2021 - 12:37
#permalink

Nice knowledge gaining article. This post is really the best on this valuable topic.
tulum ruins


Автор: Гостьsad (не зарегистрирован), дата: 10 марта, 2021 - 18:58
#permalink

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post.
trips to cancun


Автор: Гостьsad (не зарегистрирован), дата: 12 марта, 2021 - 23:24
#permalink

Автор: farhan (не зарегистрирован), дата: 13 марта, 2021 - 14:56
#permalink

Thanks for sharing this information. I really like your blog post very much. You have really shared a informative and interesting blog post with people..
things to do at holbox


Автор: Гостьasa (не зарегистрирован), дата: 13 марта, 2021 - 20:31
#permalink

Wonderful illustrated information. I thank you about that. No doubt it will be very useful for my future projects. Would like to see some other posts on the same subject!
hotel isla holbox


Автор: farhan (не зарегистрирован), дата: 26 марта, 2021 - 10:16
#permalink

Fantastic blog! Do you have any tips and hints for aspiring writers? I’m planning to start my own website soon but I’m a little lost on everything. Would you propose starting with a free platform like WordPress or go for a paid option? There are so many options out there that I’m completely overwhelmed .. Any suggestions? Many thanks!
treatnheal


Автор: john bond (не зарегистрирован), дата: 27 марта, 2021 - 12:16
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
empresas de mudanças df


Автор: farhan (не зарегистрирован), дата: 28 марта, 2021 - 19:25
#permalink

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post.
Automatyka hoteli


Автор: osama shk (не зарегистрирован), дата: 25 апреля, 2021 - 15:00
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
brick


Автор: osama shk (не зарегистрирован), дата: 4 мая, 2021 - 22:44
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
Bank guarantee provider


Автор: osama shk (не зарегистрирован), дата: 5 мая, 2021 - 21:32
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
Stahlwandpool


Автор: Housewife Sex Ads (не зарегистрирован), дата: 3 июня, 2021 - 16:17
#permalink

Find some fine Brithish wifes ready for free chat contacts with you at Housewife Sex Ads


Автор: goxafe (не зарегистрирован), дата: 26 июля, 2021 - 19:46
#permalink

hi was just seeing if you minded a comment. i like your website and the them you picked is super. I will be back.


Автор: ferozshaikh (не зарегистрирован), дата: 21 августа, 2021 - 16:09
#permalink

I am very happy to discover your post as it will become on top in my collection of favorite blogs to visit.
terpenes for sale


Автор: Гость (не зарегистрирован), дата: 23 августа, 2021 - 16:53
#permalink

Very interesting blog. Alot of blogs I see these days don't really provide anything that I'm interested in. but I'm most definately interested in this one. Just thought that I would post and let you know.
office cleaning services singapore


Автор: Гость (не зарегистрирован), дата: 24 августа, 2021 - 12:08
#permalink

Great article Lot's of information to Read...Great Man Keep Posting and update to People..Thanks
tote bags printing


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
2 + 1 =
Введите результат. Например, для 1+3, введите 4.
 
Текущий раздел
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum