Jkobs
а он при простых числах не меняется
Артур Лайф
парни а в чем прикол, когда через цикл считываю строки в файле, то открывает 15к строк. а когда считываю без одного елемента, то 20к строк. Вопрос откуда берется еще 5к строк
Igor
Игнат
Jkobs
Объясняет)
тогда поясните, ибо не вижу разницы работы, если тип не важен, то и работать должно одинаково
Igor
код дай
Igor
не картинкой
Jkobs
так выше все кидал
Jkobs
или текстом вместо скринов?
Jkobs
Igor
не картинкой
Jkobs
Jkobs
сори
Jkobs
let arr = [ [10, 10], [11, 11], [12, 12], [13, 13], [14, 14] ];
for( let value of arr ){
value[0] = value[0] / 2;
value[1] = value[1] / 2;
}
console.log(arr);
let arr2 = [{a:10}, {a:11}, {a:12}, {a:13}, {a:14}];
for( let value of arr2 ){
console.log( arr2 );
value = 2;
console.log( arr2 );
}
let testElem = { a: 2};
console.log( testElem );
testElem = 2;
console.log( testElem );
arr2 = [{a:10}, {a:11}, {a:12}, {a:13}, {a:14}];
for( let value of arr2 ){
console.log( arr2 );
value["a"] = 1;
console.log( arr2 );
}
let arr = [ 10, 11, 12, 13, 14 ];
for( let value of arr ){
console.log(arr);
value = value * 2;
console.log(arr);
}
Jkobs
все 4 случая, закоментить и оставить только один без комента
Игнат
"Когда переменная объекта копируется – копируется ссылка, сам же объект не дублируется"
Igor
блин не поучилоь тутор рисует криво
Игнат
Тогда получается при присвоении value =..., в value копирует я ссылка на новый объект, полученный при вычисление выражения
Jkobs
Игнат
При массиве массивов при присвоении ты не изменяешь ссылку на вложенный массив, а присваеваешь новую ссылку элементу этого вложенного массива
ioannes
Че за язык
Jkobs
js
Jkobs
Игнат
Нивчем
Игнат
Просто ты меняешь ссылку у элемента вложенного массива
Jkobs
Нивчем
ну он просто ее не меняет
Игнат
А не ссылку на сам вложенный массив
Jkobs
let arr2 = [{a:10}, {a:11}, {a:12}, {a:13}, {a:14}];
for( let value of arr2 ){
console.log( arr2 );
value = 2;
console.log( arr2 );
}
let testElem = { a: 2};
console.log( testElem );
testElem = 2;
console.log( testElem );
Игнат
Попробуй присвоить новый массив в value получишь ожидаемый прикол
Игнат
Чо такое {а:10} - словарь?
Jkobs
тут был массив object, я в object пихаю number, точнее мы в цикле получили ссылку на object, и кладем туда ссылку на число 2
Jkobs
Чо такое {а:10} - словарь?
ун по применению да, по факту это object с полем "a" и значением в поле "a" 10
Игнат
Ясно
Игнат
Igor
Igor
черные ссылки до присвоения значения, красные после
Igor
слева когда в массиве числа справа когда в массиве опять же массивы
Игнат
Я нихуя не понимаю, а че не так-то?
ioannes
ioannes
Эхэхэ
Alex
https://www.youtube.com/watch?v=IYFz1Gwg-ko Как считаете старикан по делу тут глаголит?
Azamat
Народ, есть у вас телеграм боты или каналы о художественных книгах? Поиск / архив
Alex
Jkobs
черные ссылки до присвоения значения, красные после
но ведь когда мы пишем
let a=1; let b=a; b=2;
создается переменная a и в ней хранится адрес памяти где записано 1, создается переменная b и в нее записывается адрес в памяти где хранится число 1, но это новое число 1, не тоже, что и в a, потом мы по адресы в переменной b меняем содержимое на 2
тут в a ничего не поменяется, потому что a и b хранят ссылки на разные результаты
а в таком варианте
let a={a:10}; let b =a; b["a"] = 2;
создается переменная а, в которой хранится адрес памяти, где хранится обьект a:10, далее в b кладется тот же адрес, где хранится именно обьект a, не создается нового обьекта в новой памяти как ранее, далее мы обращаемся по ссылке из переменной b и меняем по ключу a число на 2.
а тут поменяется a , не смотря на то, что мы его не трогали
Igor
но ведь когда мы пишем
let a=1; let b=a; b=2;
создается переменная a и в ней хранится адрес памяти где записано 1, создается переменная b и в нее записывается адрес в памяти где хранится число 1, но это новое число 1, не тоже, что и в a, потом мы по адресы в переменной b меняем содержимое на 2
тут в a ничего не поменяется, потому что a и b хранят ссылки на разные результаты
а в таком варианте
let a={a:10}; let b =a; b["a"] = 2;
создается переменная а, в которой хранится адрес памяти, где хранится обьект a:10, далее в b кладется тот же адрес, где хранится именно обьект a, не создается нового обьекта в новой памяти как ранее, далее мы обращаемся по ссылке из переменной b и меняем по ключу a число на 2.
а тут поменяется a , не смотря на то, что мы его не трогали
откуда вы знаете что это другая единица? %) представьте себе что единица всегда одна и та же
Jkobs
Jkobs
если я обращусь к а то там все еще 1, а в b 2
Igor
а ссылается на объект 1
Igor
потом в б ссылается на тт же обхект что и а
Igor
и потом вы б ссылаете на другой объект 2
Jkobs
тогда бы мы из а видили 2
Igor
нет в а ссылка на 2
Igor
откуда возьмется?
Igor
Igor
в начале присвоение черная линия, потом b=a красная линия и потом b=2 серая линия
Igor
а ссылка черная так и осталась b ссылка стала серая
Igor
а = 1
b = 2
Igor
внутри движка может что угодно происходить и даже быть примитивные типы но с точки зрения логики происходит так как если бы числа были объектами и присваивалась ссылка на них а не значения
Jkobs
в общем в js при присвоении идет перезапись ссылки, а не перезапись данных по ссылке
Jkobs
верно понял?
Jkobs
просто с плюсах, если мы делаем обычное присвоение, то мы делаем перезапись по указанному адресу переменной, а не создаем новую запись в памяти и в переменную подкладываем на нее ссылку
Igor
в плюсах есть много вариантов в js всегда один ;)
Jkobs
я указал тот что без преобразования в ссылку, когда мы сделали int a=10; потом a=2; то мы при создании переменной выделили память, записали туда 10, в переменную положили адрес на эту ячейку, а потом при присвоении мы в этот же адрес записали новое значение, а уже работа с ссылками в плюсах это отдельно
Igor
я попытался объяснить, верить или нет дело личное спорить не вижу смысла %)
Igor
да в питоне который некоторые так не любят то же самое ;)и там тоже есть свидетил передачи параметров по значению ;)
Jkobs
Mikhail
Что значит “написано в Гугле”?
Andrii
Потому что раз на раз не приходится, з/п зависит от многих факторов, в том числе от надувания щек. Нет стандартов з/п, как договоришья.
Друг говорит, что 200 разабатывает? И ты говори :)
m700
у друга и спроси
Mikhail
И при чем тут Гугл и какой-то сайт в поисковой выдаче?
m700
у кого не спроси у всех больщой
m700
оклад
Дима
Agent_RBY_
у меня тоже большой
m700
и не про оклад тоже