Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Какую команду выполняет этот код?

317  
  Marianna_wh24 гость15.02.18 13:59
15.02.18 13:59 

Здравствуйте, кто нибудь знает какую функцию или анимацию выполняет этот Java Script код?


(function(a = [3,2,6,4,8,9,6]) {

for (i = 0;i < a.length; i++) {

for (j = 0;j < i; j++) {

if (a[j] > a) {

temp = a[j];

a[j] = a;

a = temp;

}

}

}

return a;

})();


#1 
kashej свой человек15.02.18 14:52
kashej
NEW 15.02.18 14:52 
в ответ Marianna_wh24 15.02.18 13:59

Ничего не делает. Выдает массив в оригинальном виде (впишите вместо return a - alert(a) чтобы самой убедиться).

А так вообще похоже на попытку пузырьковой сортировки (bubble sort)

http://denis-aristov.ucoz.com
#2 
  Marianna_wh24 гость15.02.18 15:07
NEW 15.02.18 15:07 
в ответ kashej 15.02.18 14:52

как я поняла это Arrays, которые выдают Zufallszahlen, a kak этот код можно улучшить? чтобы попроще было

#3 
NightWatch коренной житель15.02.18 15:13
NightWatch
NEW 15.02.18 15:13 
в ответ Marianna_wh24 15.02.18 13:59

Это анимация кривых ручек.

#4 
  Marianna_wh24 гость15.02.18 15:26
NEW 15.02.18 15:26 
в ответ NightWatch 15.02.18 15:13

а вы можете , если конечно знаете, обьяснить, что означает этот if bedingung? я не совсем понимаю


if (a[j] > a) {

temp = a[j];

a[j] = a;

a = temp;

#5 
Murr патриот15.02.18 15:37
Murr
NEW 15.02.18 15:37 
в ответ Marianna_wh24 15.02.18 15:26

а вы можете , если конечно знаете, обьяснить, что означает этот if

-----

Он означает, что после вторго 'a'

ожидались [ i ]

тогда будет, как и написали выше, сортировка.


Объяснять как улучшить... Хммм... Д.Кнут. т.3 Сортировка и Поиск...

#6 
  Marianna_wh24 гость15.02.18 15:40
NEW 15.02.18 15:40 
в ответ Murr 15.02.18 15:37

ok, спасибо, но как сделать лучше все таки не понимаю

#7 
  Marianna_wh24 гость15.02.18 15:45
NEW 15.02.18 15:45 
в ответ Marianna_wh24 15.02.18 15:40

просто у него онлайн линка для книги нет, все в продаже, мне просто надо сейчас

#8 
Murr патриот15.02.18 15:46
Murr
NEW 15.02.18 15:46 
в ответ Marianna_wh24 15.02.18 15:40

как сделать лучше все таки не понимаю

-----

Видимо в гоогле забанили...

http://www.padaread.com/?book=15375 - читать до понимания сути проблемы. Если за пару недель не освоишь - бросай программирование...

#9 
  Marianna_wh24 гость15.02.18 16:15
NEW 15.02.18 16:15 
в ответ Murr 15.02.18 15:46

eще один вопрос, не сочтите на невежливость, чем отличаютса эти 2 кода?


console.log("start");
var a = 1;
a += b;
console.log(a);
console.log("end");


console.log("start");
var a = 1;
(new Promise(function(resolve,reject) {
a += b;
})).then(function(val) {
console.log(a);
});
console.log("end");

#10 
Murr патриот15.02.18 16:21
Murr
NEW 15.02.18 16:21 
в ответ Marianna_wh24 15.02.18 16:15

Количеством строк - в первом - 5 - во втором - 8.спок

#11 
  Marianna_wh24 гость15.02.18 16:26
NEW 15.02.18 16:26 
в ответ Murr 15.02.18 16:21

ну да это понятноулыб, я имею в виду что каждая программа выполняет


#12 
  Marianna_wh24 гость15.02.18 16:27
NEW 15.02.18 16:27 
в ответ Marianna_wh24 15.02.18 16:26

отличие в расшифровке кода

#13 
NightWatch коренной житель15.02.18 16:32
NightWatch
NEW 15.02.18 16:32 
в ответ Marianna_wh24 15.02.18 16:15

Во втором случае console.log(a); не выполнится.

#14 
  Marianna_wh24 гость15.02.18 18:25
NEW 15.02.18 18:25 
в ответ NightWatch 15.02.18 16:32

а почему, в чем ошибка?

#15 
  Marianna_wh24 гость15.02.18 18:32
NEW 15.02.18 18:32 
в ответ Marianna_wh24 15.02.18 18:25

в этом (resolve,reject)?

#16 
NightWatch коренной житель16.02.18 14:29
NightWatch
NEW 16.02.18 14:29 
в ответ Marianna_wh24 15.02.18 18:25
а почему

Потому что надо знать как работают promises.

#17