Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

Как развернуть массив задом наперед?

#javascript


Задание следующее:


  Поменяйте все элементы в массиве местами, то есть тот, что был 10-м, сделайте 1-м.
Тот, что был 9-м, сделайте 2-м и так далее.


Делаю а ничего не получается, точнее первые пять меняет а потом нет.
Вот код:

var arr = new Array(1,2,3,4,5,6,7,8,9,10);
var arr_2 = arr;
var i = 0;
var count = arr.length;

for (i = 0; i < arr.length; i++) {
    document.write(arr[i] + ' ');

}
count=count-1;
i = 0;
for (i = 0; i < arr.length; i++) {
     arr[i]=arr[count];
     arr[count]=arr_2[i];
     count=count-1;

}
document.write('
'); for (i = 0; i < arr.length; i++) { document.write(arr[i] + ' '); }


Ответы

Ответ 1



Я просто оставлю это сделать: http://javascript.ru/Array/reverse

Ответ 2



Ну как бэ, надо еще одну переменную тут for (i = 0; i <=count/2; i++) { var t = arr[count-i]; arr[count-i]=arr[i]; arr[i] = t; } А то у вас массивы - это один и тот же объект так как через new создан. Учите язык программирования, на котором пишите

Ответ 3



Вот такой вариант var arr = [0,1,2,3,4,5,6,7,8,9]; var temp; for(var i=0,j=arr.length-1; i

Ответ 4



Если вам не хочется пользовать sort или вторую переменную, то вот такая петрушка: var arr = new Array(1,2,3,4,5,6,7,8,9,10); var newArr = [], index; for (i = arr.length; i > 0; i--) { index = arr.length - i; newArr[i] = arr[index]; } console.log(newArr);

Ответ 5



document.write("
"); var arr = new Array (3,4,5,6,7,8,9,10,13,12); for (var i=0; i < arr.length; i++){ document.write("Элемент с индексом "+[i]+" равно "+arr[i]+"
"); } document.write("
"); document.write("
"); var arr = new Array (3,4,5,6,7,8,9,10,13,12); for (var i = 9; i >= 0; i--) { document.write("Элемент с индексом "+[i]+" равно "+arr[i]+"
"); }

Ответ 6



Как я понял вы на старте ) соответственно вам нужно самое просто решение без методов, вот оно : for (i = arr.length-1; i>=0 ; i--) { document.write(arr[i] + ' '); }

Ответ 7



function sortFunction(a, b){ if(a < b) return 1; if(a > b) return -1; return 0 } var arr = new Array(1,2,3,4,5,6,7,8,9,10); console.log(arr.sort(sortFunction)); Теперь по русски. В javascript есть метод sort, в который мы передаём свою функцию сортировки. Подробнее тут

Комментариев нет:

Отправить комментарий