Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать циклом for? (https://javascript.ru/forum/misc/35357-kak-sdelat-ciklom.html)

dima*** 08.02.2013 16:51

Как сделать циклом for?
 
Как сделать,чтобы циклом for m пересчитывало?

var pov=[];
for (i=0;i<c.length; i++)  {
k=0;m=1;
if(u[k]==c[0]&&u[m]==c[2]){
pov.push(c[i]);
}}
document.write(pov);

danik.js 08.02.2013 18:54

var pov=[];
// ключевое слово var, иначе переменная будет глобальной.
for (var i=0;i<c.length; i++) {
    if(u[0]==c[0]&&u[i+1]==c[2]){
        pov.push(c[i]);
    }
}
var k = 0; // не знаю зачем вам эта переменная.
document.write(pov);


или даже

var pov=[];
// зачем проверять в цикле, если можно сделать это один раз
if (u[0]==c[0]) {
    // ключевое слово var, иначе переменная будет глобальной.
    for (var i=0;i<c.length; i++) {
        if(u[i+1]==c[2]){
            pov.push(c[i]);
        }
    }
}
var k = 0; // не знаю зачем вам эта переменная.
document.write(pov);

dima*** 08.02.2013 19:00

Как сделать,чтобы вручную так не повторять?


var pov=[];
 for (i=0;i<c.length; i++) {
 k=0;m=0;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

var pov=[];
 for (i=0;i<c.length; i++) {
 k=0;m=1;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

var pov=[];
 for (i=0;i<c.length; i++) {
 k=0;m=2;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

и т.д.

deivan 08.02.2013 19:18

одеть цикл во внешний? как-то так:
for(m=0;m<3;m++) {
    for (i=0;i<c.length; i++) {
        ....
    }
}

dima*** 08.02.2013 19:35

danik.js-Спасибо!
там,программа очень большая,я сократил неудачно.Поэтому так получилось.
Смысл,что нужно выше сообщением

dima*** 08.02.2013 19:49

deivan,да так .
Начало,тоже получилось,а дальше ?
В if может быть 5 ,а может-0,а может-1.Создаётся массив,который подряд собирает.А нужно,чтобы по отдельности.
Сначала 5-один массив,
Потом 0-второй массив,
Затем 1-третий массив.

dima*** 09.02.2013 10:49

К-нужна для ещё одного цикла.
var pov=[];
 for (i=0;i<c.length; i++) {
 k=0;m=0;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

var pov=[];
 for (i=0;i<c.length; i++) {
 k=0;m=1;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

var pov=[];
 for (i=0;i<c.length; i++) {
 k=0;m=2;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

и т.д.


var pov=[];
 for (i=0;i<c.length; i++) {
 k=1;m=0;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

var pov=[];
 for (i=0;i<c.length; i++) {
 k=1;m=1;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

var pov=[];
 for (i=0;i<c.length; i++) {
 k=1;m=2;
 if(u[k]==c[0]&&u[m]==c[2]){
 pov.push(c[i]);
 }}
 document.write(pov);

и т.д.

Deff 09.02.2013 13:08

dima***,
Вы давно пользуетесь форумом Используйте кнопку для обертывания нтмл кода!!
Или для ява-скрипт кода

dima*** 09.02.2013 13:34

Deff-от этого пример не решится.:(
И это не целый скрипт показан,а кусочек.Во что-нибудь обёртывать,наверное, не совсем правильно ...

Deff 09.02.2013 13:54

dima***,
От этого отношения к посту, - нафига помогающим себя затруднять, коли Вы пальем не двигаете, чтобы хотя бы что-нибудь предпринять для удобства читабельности и копирования
Цитата:

Сообщение от dima***
Во что-нибудь обёртывать,наверное, не совсем правильно ...

Смотрите посты от deivan, danik.js,

dima*** 09.02.2013 14:51

Цитата:

Сообщение от Deff (Сообщение 232702)
dima***,
Смотрите посты от deivan, danik.js,

Получается так:
var pov=[];
 for (m=0;m<u.length; m++) {
	 for (i=0;i<c.length; i++) {
	 k=0;
	 if(u[k]==c[0]&&u[m]==c[2]){
	 pov.push(c[i]);
	 }}}
	 document.write(pov);


Так собираются все элементы массива подряд.

Deff 09.02.2013 16:51

var pov=[],mMax=5,kMax=2;
for (k=0;i<kMax; k++) {
 for (m=0;i<mMax; m++) {
   for (i=0;i<c.length; i++) {
     if(u[k]==c[0]&&u[m]==c[2]) pov.push(c[i]);
   }
 }
}
 document.write(pov);

dima*** 09.02.2013 18:02

Нет-не то...:(
for(m=0;m<u.lenght;m++)-так правильно

Deff 09.02.2013 18:24

dima***,
Цитата:

Сообщение от dima***
for(m=0;m<u.lenght;m++)-так правильно

Да, это трудно!
Правильнее не пересчитывать в цикле раз за разом : u.lenght
var pov=[],mMax=u.lenght,kMax=2;
for (k=0;i<kMax; k++) {
 for (m=0;i<mMax; m++) {
   for (i=0;i<c.length; i++) {
     if(u[k]==c[0]&&u[m]==c[2]) pov.push(c[i]);
   }
 }
}
 document.write(pov);


Часовой пояс GMT +3, время: 08:43.