Вынести из под функции
Не знаю как это адекватно спросить, но суть вот в чем. Есть nodisplay и его значение должно быть в функции для каждого елемента массива. Одновременно в этом самом масиве есть значения, которые должны влиять на состояние nodisplay. В примере ниже nodisplay определяется в сам момент перебора. А можно ли вынести этот перебор за ф-цию. Чтоб в самой этой ф-цие было что-то типа nodisplay[i] ?
for(nofbut=0; nofbut<questions[d].answers.length; nofbut++) { nodisplay=0; if (questions[d].answers[nofbut][4] !=undefined){ nodisplay = 1}; //потом надо разобратся с нодисплей if (nodisplay == 0) { allbuttons.innerHTML += "<div onclick='checkvariant(this)'>" + questions[d].answers[nofbut][0] + "</div>"} }; На ум приходит только создание еще одного массива. Этого самого nodisplay[]. Но это опять же неудобно городить еще один двухмерный массив. |
PashPP, советую взять Фленагана 5е издание для начала (можно легко и быстро найти в pdf) и прочитать первые хотя бы 100 страниц (это максимум 2 - 3 часа), что бы вы могли писать понятные для всех вопросы. А так получается что-то типа: Ребята, слушайте загадку: "Есть nodisplay (у всех сразу мысли - что это за таинственная сущность?) и его значение должно быть в функции (просто оно должно там быть) для каждого элемента массива..." - ну просто ребусы, честно. Но, скорее всего, с прочтением этих 100 страниц наибольшая часть вопросов отвалится сама по себе.
|
shkoder,
Ну это просто значение. Если оно равно нулю, то в хтмл не выводится строчка. В моем примере это значение напрямую приравнивается к перебираемому циклом элементу массива. Вот я бы просто хотел узнать, как наикрасивейшим образом перебрать массив вне исполняющей функции и назначить каждому элементу свой nodisplay. Хотя да, вопрос, наверно, дурацкий. |
PashPP,
Напишите более обще что вам нужно. Попробую догадаться - в свете предыдущих вопросов про то как хранить вопросы и варианты ответов, выходит, что у вас приложение - опросник. А тут вам что-то типа скрывать вопросы, на которые вы уже ответили или что? |
shkoder,
Текстовый квест. Так вот там должны быть скрытые варианты ответов. Которые в моем первом примере просто скрываются, если ничего нет в questions[d].answers[nofbut][4] То есть в четвертом элементе каждого подмасива answers. for(nofbut=0; nofbut<questions[d].answers.length; nofbut++) { nodisplay=0; if (questions[d].answers[nofbut][4] !=undefined){ nodisplay = 1}; if (nodisplay == 0) { allbuttons.innerHTML += "<div onclick='checkvariant(this)'>" + questions[d].answers[nofbut][0] + "</div>"} Но этот показатель должен быть более гибкий и зависеть не просто от наличия в массиве questions[d].answers[nofbut][4] хоть чего-то, а и от этого содержимого и внешних факторов. |
Цитата:
if ((questions[d].answers[nofbut][4] !=undefined)&&b==2&&a==c){ nodisplay = 1}; |
vadim5june,
Можно, но это будет не слишком гибко. |
Часовой пояс GMT +3, время: 18:31. |