[JS] Arrays - зад.1


3
Write a script that allocates array of 20 integers and initializes each element by its index multiplied by 5. Print the obtained array on the console.
Как разбирате тази задача? Да се въведат тези 20 числа просто или и да се подредят по големина? Мерси!



Отговори



4
Ами нито едно от двете :) Идеята е да дефинираш един масив с 20 елемента и след това с цикъл от 0 до 19 (като използваш брояча на цикъла) да зададеш стойности на елементите на масива (напр. arr[0] = 0*5, arr[1] = 1*5, arr[2] = 2*5... т.н.) :)

от jinjar (762 точки)


0
Вече ми е ясно :) Благодаря много :)

от mihalkoff (0 точки)

0
На мене още не ми е много ясно обаче, колега. Какъв е смисъла да дефинирам масив от 20 числа, които така и няма да изпозвам, а ще използвам само индексовата им позиция... Това не е ли същото като:
outputStr = ""; for(i=0; i<=19; i++){ outputStr += (i * 5) + ", "; }
Нещо не разбирам?

от KOCTEHYPKATA (5259 точки)



1
Реално резултатът в крайна сметка е позицията/индексът по 5, нали? [0,5,10,15 ....] до 20. Поне аз така го разбрах.

от rnikiforova (1198 точки)


0
мда ,точно това е решението.Това е една от малкото ми решени задачи от домашното за масиви :)

от STRATEGA (0 точки)


0

 

Демек целият отговор е:
 
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
 
Така излиза нали? На мен също не ми стана много ясно условието...

от anonymous (0 точки)


2

Понеже задачите за домашно по JavaScript Part1 на курсистите започнали курса на 18.02.2013 съвпадат с тези, ще пусна моето решение тук, за да избегна дублирането на теми.

Demo

Solution

Инициализирам масив от 20 елемента /както е по условие/, след което въртя for цикъл и присвоявам на всеки един елемент от масива стойност равна на произведението на съответният му индекс умножен по числото 5.


от Vlado_XXX (944 точки)


0
Ето го и моя JS-код на задача 1 от Масиви:
var arr = new Array(); for (var i = 0; i < 19; i++) { arr[i] = i * 5; jsConsole.writeLine(arr[i]); }
Някой има ли идея защо не ми се изписва първото число, тоест 0, от създадения масив?

от borisova (70 точки)


0
Според кода който си дала би трябвало да НЕ ти се изписва последният елемент- в случая 95, а не първия. По условие е дадено да инициализираме масив с 20 елемента, докато при теб се инициализират само 19. Имаш 2 възможности: - да промениш for цикъла на (var i = 0; i <= 19; i++) или - да промениш for цикъла на (var i = 0; i < 20; i++)

от Vlado_XXX (944 точки)

0
Поправих кода - в момента ми излизат елементи от 5 до 95. Преди 5-цата имам празно пространство вместо 0 - пробвах го на няколко браузер-а, на всички е така, много странно.

от borisova (70 точки)



0

Ето и едно решение с for in:

 

 

            var index;
            var firstArr = new Array(1, 5, 10, 11, 12, 13, 45, 4, 9, 56, 78, 95, 63, 1, 7, 68,      15, 66, 2, 90);
            var secondArr = new Array();
            jsConsole.writeLine("First array is:<br />" + firstArr.join(", "));
            jsConsole.writeLine("Secand array is:");
            for (var i in firstArr) {
                secondArr = (firstArr[i] * 5);
                jsConsole.write(secondArr + ", ");
            }

от Kristin (484 точки)


2

Решение.
Демо.
Дефинирам масив от 20 числа и въртя един цикъл по елементите на масива, като дефинирам стойностите му.


от AsenVal (3487 точки)


0
Бате това е от миналата година темата :)


0
Не принтиш обаче, промени си ид-то на div-a на js-console, освен ако не си го оставил умишлено така разбира се :)

от v_slavchev (1040 точки)



0
Ето и моя вариант:
http://jsbin.com/AZilEzE/1/edit?html,console

от bstaykov (528 точки)


1

Решение

1. Създавам си масив от 20 елемента с Array(20). С един for цикъл задавам на всеки елемент стойност равна на индекса му * 5. Резултата показвам като нов div в body и в конзолата.

от dzhenko (3893 точки)