Пытаюсь написать функцию на JS которая принимает заданный массив и реверсирует его. Я знаю о том что есть специальный метод для этого, но есть желание как у начинающего написать вручную. Привожу код, который по не понятным мне причинам возвращает пустой массив.
function reverseArray(myArray) {
var newMyArray = [];
for (var i = myArray.length; i > 0; i--) {
newMyArray.unshift(myArray.pop());
}
return newMyArray;
}
Ваша функция работает, но неправильно (см. комментарий). Ну и в исходном массиве после нее ничего нет.
function reverseInPlace(anArray) {
for (var i = 0; i < anArray.length / 2; i++) {
var temp = anArray[i];
anArray[i] = anArray[myArray.length - 1 - i];
anArray[anArray.length - 1 - i] = temp;
}
}
function reverseArray(myArray) {
var newMyArray = [];
for (var i = myArray.length; i > 0; i--) {
newMyArray.unshift(myArray.pop()); // needs newMyArray.push instead
}
return newMyArray;
}
var myArray = [1, 2, 3, 4, 5];
var newArray = reverseArray(myArray);
console.log(newArray);
console.log(myArray);
myArray = [1, 2, 3, 4, 5];
reverseInPlace(myArray);
console.log(myArray);
function reverse(a) {
for (var l=0, r=a.length-1; l<r; ++l, --r) {
var temp = a[l];
a[l] = a[r];
a[r] = temp;
}
return a;
}
console.log("" + reverse([]));
console.log("" + reverse([1]));
console.log("" + reverse([1,2]));
console.log("" + reverse([1,2,3]));
console.log("" + reverse([1,2,3,4,5,6,7,8]));
console.log("" + reverse([1,2,3,4,5,6,7,8,9]));
function reverse(a) {
var res = [];
for (var q=a.length-1; ~q; --q) {
res.push(a[q]);
}
return res;
}
console.log("" + reverse([]));
console.log("" + reverse([1]));
console.log("" + reverse([1,2]));
console.log("" + reverse([1,2,3]));
console.log("" + reverse([1,2,3,4,5,6,7,8]));
console.log("" + reverse([1,2,3,4,5,6,7,8,9]));
const revert = a => a.reduceRight((_, e) => (_.push(e), _), []);
console.info(revert([1, 2, 3, 4, 5]));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите как можно сделать вписывание изображений в зависимости от их количества в блок ?