Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 03.01.2012, 19:32
Аспирант
Отправить личное сообщение для diagnost Посмотреть профиль Найти все сообщения от diagnost
 
Регистрация: 30.10.2008
Сообщений: 47

Не совсем. Можно ли каунт получить один раз и навсегда после добавления всех новых слов?
Ответить с цитированием
  #32 (permalink)  
Старый 03.01.2012, 19:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от diagnost
Я с первого поста спрашивал, как сделать так, чтобы не было "каждый раз", а был только один раз в момент вызова LWord.count
,
А чем вам не подошёл вариант предложенный в первых постах ?
function Lingvo() {
	this.Eng = [];
	this.Rus = [];
	this.Add = function (EngWord, RusWord) {
			this.Eng.push(EngWord); 
			this.Rus.push(RusWord); 			.

	};
    this.count = function ()
{
  return  this.Eng.length;
}
}

var LWord = new Lingvo;

LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");

alert (LWord.count());
alert (LWord.Eng[1]);
alert (LWord.Rus[1]);
Ответить с цитированием
  #33 (permalink)  
Старый 03.01.2012, 19:41
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

можно но тогда тебе нужно добавлять методами ПУШ и потом как надобавляешь, то есть после

LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");


сделать следущее

LWord.count = LWord.Eng.length

и в каунте у тя будет лежать длинна.. пипец неужели это так сложно)))?

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

Последний раз редактировалось Livaanderiamarum, 03.01.2012 в 19:44.
Ответить с цитированием
  #34 (permalink)  
Старый 03.01.2012, 19:43
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Ну вот, самый лучший вариант


function Lingvo() {
	this.count = 0;
	this.Eng = [];
	this.Rus = [];
	this.Add = function (EngWord, RusWord) {
			this.Eng[this.count] = EngWord; //суешь туда
			this.Rus[this.count] = RusWord; //суешь сюда
			this.count ++;//прибавляешь длинну
	}
}

var LWord = new Lingvo;

LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");

alert (LWord.count);
alert (LWord.Eng[1]);
alert (LWord.Rus[1]);
Ответить с цитированием
  #35 (permalink)  
Старый 03.01.2012, 19:53
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Проблема высосана из пальца
Ответить с цитированием
  #36 (permalink)  
Старый 03.01.2012, 19:57
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от zebra Посмотреть сообщение
Проблема высосана из пальца
Проблема начинается от непонимания устройства систем языка)
Ответить с цитированием
  #37 (permalink)  
Старый 03.01.2012, 20:32
Аспирант
Отправить личное сообщение для diagnost Посмотреть профиль Найти все сообщения от diagnost
 
Регистрация: 30.10.2008
Сообщений: 47

Сообщение от Livaanderiamarum Посмотреть сообщение
можно но тогда тебе нужно добавлять методами ПУШ и потом как надобавляешь, то есть после

LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");


сделать следущее

LWord.count = LWord.Eng.length

и в каунте у тя будет лежать длинна.. пипец неужели это так сложно)))?

но такой способ медленнее которого я дал потмоу что тут действий больше а в моем одно)))
Я могу так получить длину, уже писалось об этом на предыдущих страницах несколько раз. Вопрос стоял другой. Можно ли написать объект, содержащий массив, чтобы длину массива можно было бы прочесть в count через вызов LWord.count без суммирования за один раз. Способ "внешнего" присвоения значения count, как посоветовали в этом сообщении, неприемлем по очевидным причинам - метод получения count должен находиться внутри объекта, а не через "внешние" операции с объектом. ООП предполагает именно такой подход.
Пока никто так на этот простой вопрос не дал ответа.
Ответить с цитированием
  #38 (permalink)  
Старый 03.01.2012, 20:37
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сделайте count функцией. В чём проблема-то?
Ответить с цитированием
  #39 (permalink)  
Старый 03.01.2012, 20:39
Аспирант
Отправить личное сообщение для diagnost Посмотреть профиль Найти все сообщения от diagnost
 
Регистрация: 30.10.2008
Сообщений: 47

Расшифрую. ИМХО, count правильно получать в Lingvo, а не в LWord и за один раз, а не постоянно суммируя.
Ответить с цитированием
  #40 (permalink)  
Старый 03.01.2012, 20:39
Аспирант
Отправить личное сообщение для diagnost Посмотреть профиль Найти все сообщения от diagnost
 
Регистрация: 30.10.2008
Сообщений: 47

Kolyaj, вот не получается у меня. Может, у Вас получится? Попробуйте.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
splice массива массивов vahrusha Общие вопросы Javascript 9 27.07.2010 15:41
Как проверить название массива? Andrej_2 Общие вопросы Javascript 2 30.06.2010 21:07
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 16:53
вставка элементов массива в текстовую форму по клику olezyk Общие вопросы Javascript 3 21.03.2009 22:01