Мое решение :
var numbers = [1, 3, 5, 7, 9, 11];
for( var i=numbers.length-2; i>=0 ;i–) {
x=numbers[i];
numbers.push(numbers[i]);
}
for(var j=0; j<numbers.length-1; j++){
numbers.shift(numbers[j]);
}
var numbers = [1, 3, 5, 7, 9, 11];
var numbersClone = numbers;
numbers =[] /*не знаю можно ли обнулять массив, но проверку проходит*/
for (var i=0; i<=numbersClone.length -1; i++) {
numbers.unshift(numbersClone[i])
}`Текст "как есть" (без применения форматирования)`
Мой вариант через sort:
numbers=numbers.sort((a,i)=>-i)
var numbers = [1, 3, 5, 7, 9, 11];
for (i = 0; i <= numbers.length/2 - 1; i++) {
var total = numbers[i];
numbers[i] = numbers[numbers.length - (i + 1)];
numbers[numbers.length - (i + 1)] = total;
}
Странно, но сработало:
var backwardsNumbers = numbers.reverse();
newFunction();
function newFunction() {
console.log(backwardsNumbers);
}
Я решил использовать функцию Math.floor(), чтобы учесть массивы с нечетным количеством элементов.
Мой вариант кода:
var numbers = [1, 3, 5, 7, 9, 11];
var tmp = 0;
for ( var i = 0; i < Math.floor(numbers.length / 2); i++ ) {
tmp = numbers[numbers.length - i - 1];
numbers[numbers.length - i - 1] = numbers[i];
numbers[i] = tmp;
};
var numbers = [1, 3, 5, 7, 9, 11];
var r = numbers.length - 1;
for (var i = 0; i < numbers.length; i++){
var swap = numbers[i];
numbers[i] = numbers[r];
if(numbers[r] = numbers[i]) {
numbers[r] = swap
r–;
if (r <= (numbers.length) / (5 / 2)) {
break;
}}}
Решаил так:
var numbers = [1, 3, 5, 7, 9, 11];
for (var i = 0; i < numbers.length / 2; i++) {
var swap = numbers[i];
numbers[i] = numbers[numbers.length-(i + 1)];
numbers[numbers.length-(i + 1)] = swap;
}
Только с тем материалом, который дали
var numbers = [1, 3, 5, 7, 9, 11];
var pog = [];
for (i=numbers.length-1;i>=0;i–) {
pog.push(numbers[i])
}
numbers=pog;
Объясните зачем на 2 делить длину массива?
for (var i = 0; i < numbers.length / 2; i++) {
var tmp = numbers[i];
numbers[i] = numbers[numbers.length - 1 - i];
numbers[numbers.length - 1 - i] = tmp;
}
Чтобы остановить цикл ровно на середине массива, так как дальше он поменяет элементы обратно, и массив будет такой же как изначальный. То-есть получиться цикл, который просто меняет элементы туда и обратно.
Здравствуйте!
Длину массива необходимо “/ 2”, так как при каждой итерации задействовано 2 элемента массива (элементы, которые меняются местами), вместо 1 элемента. Соответственно необходимо выполнить в 2 раза меньше итераций, чтобы пройти весь массив.
Изначально сделал просто с помощью arr.reverse(), так как два дня просто сидел и не мог решить.
Спустя неделю вернулся и немного подумал, оказалось, надо просто менять местами первый элемент с последним, второй элемент с предпоследним и т.д. и так до середины массива arr.length / 2 - 1
Сводка
let numbers = [1, 3, 5, 7, 9, 11, 26,10,12,30,8,23];
for (i = 0; i <= numbers.length / 2 - 1; i++) {
let swap = numbers[i]
numbers[i] = numbers[numbers.length - 1 - i]
numbers[numbers.length - 1 - i] = swap
}
моё решение
let numbers = [1, 3, 5, 7, 9, 11];
let schet = 0;
for (let i = numbers.length - 1; i >= 0; i–) {
numbers.push(numbers[i]);
schet++;
}
for (let j = 0; j < schet; j++) {
numbers.shift(numbers)
}
Мой вариант:
let numbers = [1, 3, 5, 7, 9, 11, 6];
let end = numbers.length - 1;
let buf = 0;
for (let i = 0; i < numbers.length / 2; i++) {
buf = numbers[i];
numbers[i] = numbers[end]
numbers[end] = buf;
end--;
}
console.log(numbers);
let numbers = [1, 3, 5, 7, 9, 11];
numbers.reverse()
У меня получилось два варианта, сначала я сделал через метод push():
let numbers = [1, 3, 5, 7, 9, 11];
let buffer = [];
for (let i = numbers.length - 1; i >= 0; i--) {
buffer.push(numbers[i]);
};
numbers = buffer;
Потом подумал, что добавлять лишние переменные неправильно и сделал так:
let numbers = [1, 3, 5, 7, 9, 11];
for (let i = 0; i < numbers.length / 2; i++) {
let swap = numbers[i];
numbers[i] = numbers[numbers.length - 1 - i]
numbers[numbers.length - 1 - i] = swap;
};
а я вот так насочинял опираясь на пройденный материал
for (let i = 0; i < numbers.length / 2; i++) {
let j = i + 1;
let swap = numbers [i];
numbers[i] = numbers[numbers.length - j]
numbers[numbers.length - j] = swap
console.log(numbers);
}
Ну вдруг на собеседовании тебя попросят сделать подобное без использования ‘reverse()’