Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Добавление в пустой массив/Удаление


Автор: Innuendo 28.1.2006, 21:17
Есть таблица размером n*m.
Есть пустой массив new Array ()
мне надо чтоб при клике на ячейку таблицы элемент подсветился и его значение занеслось в массив. Так кликая по ячейкам массив заполняется значениями. При клике на уже подсвеченную ячейку, данный элемент должен удалится из массива.
Возникли проблемы с написанием данного кода. Как добавлять элемент на последнее место?
Код не ставлю, так как там нечего ставить.. не получилось ничего smile

Автор: Ciber SLasH 29.1.2006, 00:25
var arr = []; // массив
arr.push(1); // добавление в конец массива единицы

Автор: ezhikov 29.1.2006, 00:36
или имхо:
arr[arr.length] = 1; //свойство arr.length возвращает индекс первой свободной позиции в конце массива

Автор: Innuendo 29.1.2006, 00:46
arr[arr.length] -я так и делал... были глюки
Ciber SLasH
а push на всех браузерах идёт?
спасибо, я попробую.
а есть функция удаления элемента? или надо будет перебирать массив, методом пузырька smile

Автор: ezhikov 29.1.2006, 00:49
удаление вроде
delete массив[элемент];

з.ы. кстати, может привязать каждую ячейку к определенному элементу массива. При клике проверяется свойство "подсвеченности" (если true, то закрепленный элемент обнуляется, иначе заполняется значением ячейки).

Автор: Ciber SLasH 29.1.2006, 01:00
Цитата(Innuendo @ 29.1.2006, 00:46 Найти цитируемый пост)
а push на всех браузерах идёт?

Конечно
Цитата(Innuendo @ 29.1.2006, 00:46 Найти цитируемый пост)
а есть функция удаления элемента?

Код

var arr = [1,2,3,4,5];
arr.splice(3, 1);    // удалить 4-й элемент массива


ЗЫ: скачай справочник в моей подписе и не парься. Там описано почти всё, в том числе и объект Array со всеми его полями и методами.

Автор: Innuendo 29.1.2006, 01:05
ezhikov
он удаляет smile но массив не передвигается... то есть там, что он удалил просто дырка становится.
Ciber SLasH
Ок. спасибо.
Да справочник у меня давно есть... smile
Мне нужно удаления элемента массива по его значению (элементы будут уникальны, то есть не повторяющиеся),а не по индексу... Такого вроде в стандартных функциях нету smile
Ну, ничё... пришлось пробежать массив... Думал можно как-то короче и экономичнее.



Всем спасибо, вопрос исчерпан

Автор: ezhikov 29.1.2006, 01:27
Кстати, а как вытащить даные из ячейки таблицы?

Автор: Ciber SLasH 29.1.2006, 01:39
Цитата(ezhikov @ 29.1.2006, 01:27 Найти цитируемый пост)
Кстати, а как вытащить даные из ячейки таблицы?

Один топик, один вопрос.

Автор: dstorm81 29.1.2006, 20:00
а что не судьба ввести какую нить переменную и заполнять типа
var circlr=0
var myArr=new Array()
онклик если откуда надо

myArr[circle]=значение из таблицы

Автор: Innuendo 30.1.2006, 14:16
dstorm81
можно, но легче push smile

Автор: Aliance 8.2.2006, 00:47
Метод использования arr[arr.length] имхо лучше.
База о массивах: http://forum.vingrad.ru/index.php?showtopic=40921

Цитата(ezhikov @ 29.1.2006, 02:27 Найти цитируемый пост)

Кстати, а как вытащить даные из ячейки таблицы?

Код

ссылка_на_ячейку.innerHTML


Вроде скрипт легкий. Оно еще нужно, мне писать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)