Помогите с методом slice
У меня есть несколько массивов я хочу чтобы пользователь указывал номер элемента массива который он хочет посмотреть отдельно , но у меня выводит только первый элемент, когда допустим даже я прошу вывести несколько. Всё это я пыталась организовать с помощью метода slice. Ниже код именно где нужно помочь , а потом весь код.
__________Где нужно помочь______________ var u=1; var tbl = "<table bgcolor='#DC143C' align='center' style='font-size:1.2em' border='1' bordercolor='90 00 00'>"; tbl += "<tr><th align='center'>№</th><th align='center'>Название памятника</th><th align='center'>Скульптор</th><th align='center'>Адрес</th><th align='center'>Материал</th><th align='center'>Год создания</th></tr>"; // шапка таблицы do { var ii=+prompt('Какой элемент вы хотите просмотреть отдельно?'+bb); var iv=adres.slice(ii-1,1); var ivv=tok.slice(ii-1,1); var it=material.slice(ii-1,1); var itt=good.slice(ii-1,1); var tim=arh.slice(ii-1,1); tbl+="<tr><td align='center'>"+ii+"</td><td align='center'>"+ivv[u-1]+"</td><td align='center'>"+tim[u-1]+"</td><td align='center'>"+iv[u-1]+"</td><td align='center'>"+it[u-1]+"</td><td align='center'>"+itt[u-1]+"</td></tr>"; u++; fil=confirm('Хотите ещё?'); } while (fil==true); tbl += "</table>"; document.write(tbl); _____________Полный код___________ <html> <head> <title> Применение методов обьекта Array </title> </head> <body bgcolor="#20B2AA" > <h2> <center> <p>"Cписок архитектурных памятников"</p> </cebter> </h2> <div style=" font-weight:650; font-size:1.3em"> <script type="text/javascript"> var bb=["1)Памятник А.А.Ахматовой","2)Памятник И.А.Крылову","3)Нарвские триумфальные ворота","4)Медный Всадник","5)Памятник Павлу 1"]; var tok=["Памятник А.А.Ахматовой","Памятник И.А.Крылову","Нарвские триумфальные ворота","Медный Всадник","Памятник Павлу 1"]; var adres=["Набережная Робеспьера","Набережная Кутузова.Летний сад","Площадь Стачек","Сенатская площадь","Садовая улица у Михайловского замка"]; var material=['Бронз','Бронза.Гранит.Чугун ','Кирпич,Листы красной меди','Бронза.Гранит','Бронз ']; var good= ['2006','1855','1827-1834','1782','2003']; var arh=["Галина Дадонова","П.К. Клодт","С.С.Пименов,В.И.Демут-Малиновский,П.К.Клодт И. Леппе","Этьеном Фальконе","Горевой В.Г"]; var j=5; var g=confirm('Хотите добавить памятник ?'); var ii=[]; var iv=[]; var ivv=[]; var it=[]; var tim=[]; while (g==true) { var naz=prompt('Введите название памятника'); var ad=prompt('Введите адрес'); var mat=prompt('Введите материал'); var god=+prompt('Введите год создания'); var ar=prompt('Введите скульптора '); var z=j+1+') '+naz; bb=bb.concat(z); adres=adres.concat(ad); material=material.concat(mat); good=good.concat(god); arh=arh.concat(ar); tok=tok.concat(naz); var g=confirm('Хотите ввести еще памятник?'); } t=confirm('Хотите удалить какой-либо из памятников?'); while (t==true) { var m=+prompt('Введите номер памятника котрый хотите удалить '+bb); bb.splice(m-1,1); adres.splice(m-1,1); material.splice(m-1,1); good.splice(m-1,1); tok.splice(m-1,1); arh.splice(m-1,1); t=confirm('Хотите еще удалить какой-либо из памятников?'); } j=adres.length; var tbl = "<table bgcolor='#DC143C' align='center' style='font-size:1.2em' border='1' bordercolor='90 00 00'>"; tbl += "<tr><th align='center'>№</th><th align='center'>Название памятника</th><th align='center'>Скульптор</th><th align='center'>Адрес</th><th align='center'>Материал</th><th align='center'>Год создания</th></tr>"; // шапка таблицы for (i=1;i<=j;i++){ tbl+="<tr><td align='center'>"+i+"</td><td align='center'>"+tok[i-1]+"</td><td align='center'>"+arh[i-1]+"</td><td align='center'>"+adres[i-1]+"</td><td align='center'>"+material[i-1]+"</td><td align='center'>"+good[i-1]+"</td></tr>"; } tbl += "</table>"; document.write(tbl); document.write("<br>"); </script> </div> <div style=" font-weight:650; font-size:1.7em"> <script type="text/javascript"> var u=1; var tbl = "<table bgcolor='#DC143C' align='center' style='font-size:1.2em' border='1' bordercolor='90 00 00'>"; tbl += "<tr><th align='center'>№</th><th align='center'>Название памятника</th><th align='center'>Скульптор</th><th align='center'>Адрес</th><th align='center'>Материал</th><th align='center'>Год создания</th></tr>"; // шапка таблицы do { var ii=+prompt('Какой элемент вы хотите просмотреть отдельно?'+bb); var iv=adres.slice(ii-1,1); var ivv=tok.slice(ii-1,1); var it=material.slice(ii-1,1); var itt=good.slice(ii-1,1); var tim=arh.slice(ii-1,1); tbl+="<tr><td align='center'>"+ii+"</td><td align='center'>"+ivv[u-1]+"</td><td align='center'>"+tim[u-1]+"</td><td align='center'>"+iv[u-1]+"</td><td align='center'>"+it[u-1]+"</td><td align='center'>"+itt[u-1]+"</td></tr>"; u++; fil=confirm('Хотите ещё?'); } while (fil==true); tbl += "</table>"; document.write(tbl); </script> </div> </body> </html> _________________________ |
Зачем использовать метод "slice", если достаточно обратиться к элементу массива по ключу (тем более он известен)?
Не хорошо игнорировать закрытие диалогового окна пользователем. Для форматирования вашего кода его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
нужно именно через метод slice
|
Часовой пояс GMT +3, время: 17:39. |