Jkobs
а он при простых числах не меняется
Артур Лайф
парни а в чем прикол, когда через цикл считываю строки в файле, то открывает 15к строк. а когда считываю без одного елемента, то 20к строк. Вопрос откуда берется еще 5к строк
Артур Лайф
Да не, тогда логично получается
чего не логично, любая переменная это ссылка, локальная или глобальная, это говорят на 1-2 уроке)
Jkobs
Объясняет)
тогда поясните, ибо не вижу разницы работы, если тип не важен, то и работать должно одинаково
Igor
код дай
Igor
не картинкой
Jkobs
так выше все кидал
Jkobs
или текстом вместо скринов?
Igor
не картинкой
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
блин не поучилоь тутор рисует криво
Jkobs
"Когда переменная объекта копируется – копируется ссылка, сам же объект не дублируется"
ну тогда это зависимо от типа данных, object или нет, как писал выше, тогда не ясен прикол с массивом обьектов, где если заменить object на num в цикле нельзя, а вне можно
Игнат
Тогда получается при присвоении value =..., в value копирует я ссылка на новый объект, полученный при вычисление выражения
Игнат
При массиве массивов при присвоении ты не изменяешь ссылку на вложенный массив, а присваеваешь новую ссылку элементу этого вложенного массива
ioannes
Че за язык
Jkobs
js
Алексей
Звучит не очень хорошо)
То что я кодовую базу забыл?) Наработаю))
Игнат
Нивчем
Игнат
Просто ты меняешь ссылку у элемента вложенного массива
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
слева когда в массиве числа справа когда в массиве опять же массивы
Jkobs
Ты меняешь Object на намбер, а не обращаешься к его полю
и? мы все в рамках ссылок обсуждаем, это просто констатация действия а не пояснение
Игнат
Я нихуя не понимаю, а че не так-то?
ioannes
Эхэхэ
Alex
https://www.youtube.com/watch?v=IYFz1Gwg-ko Как считаете старикан по делу тут глаголит?
Azamat
Народ, есть у вас телеграм боты или каналы о художественных книгах? Поиск / архив
Alex
https://www.youtube.com/watch?v=IYFz1Gwg-ko Как считаете старикан по делу тут глаголит?
последние слова "торжественно отправил Java на помойку"))
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 , не смотря на то, что мы его не трогали
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 всегда один ;)
Agent_RBY_
в плюсах есть много вариантов в js всегда один ;)
Нет) Особенно если мы говорим про объекты, где может быть ссылка на объект, а может быть просто его копия
Jkobs
я указал тот что без преобразования в ссылку, когда мы сделали int a=10; потом a=2; то мы при создании переменной выделили память, записали туда 10, в переменную положили адрес на эту ячейку, а потом при присвоении мы в этот же адрес записали новое значение, а уже работа с ссылками в плюсах это отдельно
Igor
я попытался объяснить, верить или нет дело личное спорить не вижу смысла %)
Igor
да в питоне который некоторые так не любят то же самое ;)и там тоже есть свидетил передачи параметров по значению ;)
Mikhail
Что значит “написано в Гугле”?
Andrii
Потому что раз на раз не приходится, з/п зависит от многих факторов, в том числе от надувания щек. Нет стандартов з/п, как договоришья. Друг говорит, что 200 разабатывает? И ты говори :)
m700
у друга и спроси
Mikhail
И при чем тут Гугл и какой-то сайт в поисковой выдаче?
m700
у кого не спроси у всех больщой
m700
оклад
Дима
оклад
Вовремя уточнил
Agent_RBY_
у меня тоже большой
m700
и не про оклад тоже