Цитата:
Цитата:
var Lingvo = function () {
return {
Eng: [],
count: 0,
Add: function (EngWord,RusWord) {
this.count = this.Eng.push(EngWord,RusWord)/2;
}
}
}
var LWord = Lingvo();
LWord.Add("father","папа");
LWord.Add("he","он");
LWord.Add("bread","хлеб");
alert (LWord.count);
|
что должно лежать в Lingvo.count, длинна всех массивов, или длинна русского массива?
|
длины русского и английского массивов одинаковы. count хранит длину любого из них. На данный момент вот такой вариант:
<script>
function Lingvo() {
this.count = 0;
this.Eng = [];
this.Rus = [];
this.Add = function (EngWord, RusWord) {
this.Eng.push(EngWord);
this.Rus.push(RusWord);
this.count =+ 1;
}
}
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]);
</script>
Так можно как-нибудь уйти от суммирования или возврата из push? Найти count за один раз? Или это невозможно? |
Я ОДИН ТУТ ВООБЩЕ НЕ ПОНИМАЮ В ЧЕМ ЕГО ПРОБЛЕМА?
|
Я ВООБЩЕ НЕ ПОНИМАЮ О ЧЕМ ТУТ МОЖНО ГОВОРИТЬ !!! О____________________О
function Lingvo() {
this.Eng = [];
this.Rus = [];
this.Add = function (EngWord, RusWord) {
this.Eng.push(EngWord); //суешь туда
this.Rus.push(RusWord); //суешь сюда
//кладешь в свойство count ссылку на длину одного из массивов создаваемого объекта.
this.count = 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]);
каждый раз ссылку нужно перезасовывать потому что метод push переписывает свойство this.count тупо числом!! Можно заменить метод push другим чтобы не переписывал числом, надо? |
Тут главное выражение: "каждый раз". Я с первого поста спрашивал, как сделать так, чтобы не было "каждый раз", а был только один раз в момент вызова LWord.count
|
Цитата:
|
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]);
теперь за место 3 операций происходит одна. прибавление длинны при добавлении слова с переводом. спасибо - пожалуйста |
Дело не в push, это промежуточный вариант скрипта. Потом все перепишется и я постараюсь целиком сразу получить массив из БД.
Дело в теории вопроса. Можно ли или нет получить count за один раз. Да или нет. Если да, то как? За улучшение спасибо. |
Цитата:
|
| Часовой пояс GMT +3, время: 18:57. |