Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   масивы (https://javascript.ru/forum/misc/1843-masivy.html)

bad.76 24.09.2008 00:31

масивы
 
можно даже устроить конкурс "найди 10 ошибок" иль чет типа того
я тут накидал код, а он не пашит. в идеале при вводе названия планеты и нажатии кнопки, должно выводится все данные из 3 паралельных масивов
в строку
сам код:
<html>
<head>
<title>Планеты солнечной системы</title>
<script type="text/javascript">
function planet() {
var planets = new tip(4);
planets [0] = "меркурий";
planets [1] = "веенера";
planets [2] = "земля";
planets [3] = "марс";
alert("Планета - " + planets[1] + ".");
var rastoynie = new tip(4);
rastoynie [0] = "52 млн. км";
rastoynie [1] = "108 млн. км";
rastoynie [2] = "149 млн. км";
rastoynie [3] = "228 млн. км";
alert("Растояние до солнца - " + rastoynie[1] + ".");
var diametr = new tip(4);
diametr [0] = "4880 км";
diametr [1] = "12100 км";
diametr [2] = "12750 км";
diametr [3] = "6800 км";
alert("Диаметр планеты - " + diametr[1] + ".");}
function planet() {
var selectedPlanet = document.value;
for (var i=0; i<planets.lengthe; i++)
{
if (planets[i]==viborPlanet)
{break;}}
alert ("Планета - " + rastoynie[i] + diametr[i] + ".");
}
</script>
</head>
<body>
<form>
<input type="text" name="selectedPlanet" id="selectedPlanet" value="" size="10" />
<input type="button" value="жми"
onclick="window.planet('типа планета - ')">
</form>
</body>
</html>

Octane 24.09.2008 00:44

Что значит?
var planets = new tip(4);

наверное:
var planets = new Array(4);

и можно записать короче:
var planets = [];


Еще функция «planet()» у вас 2 раза повторяется.

SunnyDay 24.09.2008 02:22

первое объявление planet() вместе с закрывающей скобкой убрать
var planets = new tip(4);

так тоже нельзя - это не C++

bad.76 24.09.2008 19:31

спасибо всем. насчет Array я сам виноват(надо было читать мат. часть), а по поводу повторения «planet()» тут ябуду иметь в виду.
с исправлением код изменился:

<html>
<head>
<title>Планеты солнечной системы</title>
<script type="text/javascript">
var planets = new Array(4);
planets [0] = " меркурий ";
planets [1] = " веенера ";
planets [2] = " земля ";
planets [3] = " марс ";
alert("Планета - " + planets[1] + ".");
var rastoynie = new Array(4);
rastoynie [0] = " 52 млн. км " ;
rastoynie [1] = " 108 млн. км ";
rastoynie [2] = " 149 млн. км ";
rastoynie [3] = " 228 млн. км ";
alert("Растояние до солнца - " + rastoynie[1] + ".");
var diametr = new Array(4);
diametr [0] = " 4880 км ";
diametr [1] = " 12100 км ";
diametr [2] = " 12750 км ";
diametr [3] = " 6800 км ";
alert("Диаметр планеты - " + diametr[1] + ".");
function getPlanetDate() {
var selectedPlanet = document.entryForm.entry.value;
for (var i=0; i<planets.length; i++)
{
if (planets[i]==selectedPlanet)
{break;}}
alert ("Планета - " + rastoynie[i] + diametr[i] + ".");
}
</script>
</head>
<body>
<form>
<input type="text" id="selectedPlanet" value="" size="10" />
</form>
</body>
</html>

я убрал лишнее, кое что исправил.
уже стала работать, но не так как надо не работает оператор условия, скорей что не так в присваивании значения и вывод на экран

Андрей Параничев 24.09.2008 20:26

if (planets[i]==selectedPlanet)
{break;}_}_

Может проблема в этой скобке? Кстати, помещайте код внутрь контейнеров [ html ] и [ js ] (без пробелов), если это html или javascript код соответственно.

twolf 24.09.2008 22:22

ну вот так можно
var planets = new Array(4);
planets [0] = "меркурий";
planets [1] = "веенера";
planets [2] = "земля";
planets [3] = "марс";
//alert("Планета - " + planets[1] + ".");
var rastoynie = new Array(4);
rastoynie [0] = " 52 млн. км " ;
rastoynie [1] = " 108 млн. км ";
rastoynie [2] = " 149 млн. км ";
rastoynie [3] = " 228 млн. км ";
//alert("Растояние до солнца - " + rastoynie[1] + ".");
var diametr = new Array(4);
diametr [0] = " 4880 км ";
diametr [1] = " 12100 км ";
diametr [2] = " 12750 км ";
diametr [3] = " 6800 км ";
//alert("Диаметр планеты - " + diametr[1] + ".");
 
function getPlanetDate() {
var selectedPlanet = document.getElementById('selectedPlanet').value;
for (var i=0; i<planets.length; i++){
if (planets[i] == selectedPlanet)
   alert ("Планета- "+ planets[i] + ". Расстояние- " + rastoynie[i] + ". Диаметр- " + diametr[i] + ".");
}
}

<html>
<head>
<title>Планеты солнечной системы</title>
</head>
<body>
<form>
<input type="text" id="selectedPlanet" value="" size="10" />
<input type="button" value="жми"
onclick="getPlanetDate()">
</form>
</body>
</html>

bad.76 24.09.2008 23:29

спасибо.
все ок, работает как часы.


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