Здравствуйте есть две функции
function reverseArrayPlace(array) {
let newArray = array;
array = [];
let b = 0;
for (let a = newArray.length - 1; a >= 0; a--) {
array[b] = (newArray[a]);
b++;
console.log(array);
}
return array;
}
function reverseArrayInPlace(array) {
for (let i = 0; i < Math.floor(array.length / 2); i++) {
let old = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = old;
}
return array;
}
При вызове reverseArrayPlace допустим let ar=["a","b","c"];
массив ar остается таким же. А при вызове
reverseArrayInPlace(ar)
ar
меняется, может кто-нибудь объяснить почему?
Вам стоит внимательно прочитать https://learn.javascript.ru/object-copy
Насколько я понимаю, вы никак не используете возвращаемые из функций значения, просто проверяете потом переданный в них массив на изменения. И первая функция не меняет этот массив, она только читает из него данные, в отличие от второй:
function reverseArrayPlace(array) {
// тут вы присвоили переданный массив новой переменной, из которой будете только читать
let newArray = array;
array = []; // теперь array содержит новый пустой массив, его вы и меняете
let b = 0;
// тут вы просто читаете длину старого массива, но никак его не меняете
for (let a = newArray.length - 1; a >= 0; a--) {
array[b] = (newArray[a]); // все записи происходят в новый, из старого только чтение
b++;
console.log(array);
}
return array; // тут вы вернули новый массив, старый остался неизменным
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Изучаю тему по учебникуВ нем есть пример, который работает в сэндбоксе
Загорелся идеей добавить service worker при помощи workbox в существующий проект на WordPress, но столкнулся с одной проблемой: где его расположить и как...
При подключении к бд выдаёт ошибку "ER_ACCESS_DENIED_ERROR: Access denied for user 'gallium_quasar'@'ip-200-111-142-5pools