Код var obj1 = { countries: countries.slice(), outCountries: function() { var clonedCountries = JSON.parse(JSON.stringify(this.countries)); // Создание копии массива console.log("Вывод через obj1"); console.log(clonedCountries); } }; var obj2 = { countries: countries.slice(), changeCountries: function(data) { var targetCountries = this.countries.slice(); console.log(targetCountries==this.countries) if (data === 0) { for (var i = 0; i < targetCountries.length; i++) { for (var j = 0; j < targetCountries[i].length; j++) { if (Array.isArray(targetCountries[i][j])) { targetCountries[i][j].sort((a, b) => a[2] - b[2]); } } } console.log("Литературные произведения объекта отсортированы по возрастанию года издания:"); } else if (data === 1) { for (var i = 0; i < targetCountries.length; i++) { for (var j = 0; j < targetCountries[i].length; j++) { if (Array.isArray(targetCountries[i][j])) { targetCountries[i][j].sort((a, b) => b[2] - a[2]); } } } console.log("Литературные произведения объекта отсортированы по убыванию года издания:"); } } }; // Продемонстрировать «работу» объектов, реализовав следующие действия: // 1. Вывести информацию о государствах объекта obj1 с помощью метода outCountries console.log("Информация о государствах объекта obj1:"); obj1.outCountries(); // 2. Вывести имеющуюся информацию о государствах объекта obj2 с помощью метода outCountries объекта obj1 console.log("Информация о государствах объекта obj2:"); obj1.outCountries.call(obj2); // 3. Изменить данные obj1.countries с помощью метода changeCountries объекта obj2 obj2.changeCountries.call(obj1, 1); // 4. Отобразить изменения в браузере с помощью метода outCountries объекта obj1 console.log("Информация о государствах объекта obj1 после изменений:"); obj1.outCountries(); // 5. Показать, как (не)изменились данные поля countries объекта obj2 console.log("Информация о государствах объекта obj2:"); obj1.outCountries.call(obj2); [FONT=inherit][COLOR=inherit] JS var obj1 = { countries: countries.slice(), outCountries: function() { var clonedCountries = JSON.parse(JSON.stringify(this.countries)); // Создание копии массива console.log("Вывод через obj1"); console.log(clonedCountries); } }; var obj2 = { countries: countries.slice(), changeCountries: function(data) { var targetCountries = this.countries.slice(); console.log(targetCountries==this.countries) if (data === 0) { for (var i = 0; i < targetCountries.length; i++) { for (var j = 0; j < targetCountries[i].length; j++) { if (Array.isArray(targetCountries[i][j])) { targetCountries[i][j].sort((a, b) => a[2] - b[2]); } } } console.log("Литературные произведения объекта отсортированы по возрастанию года издания:"); } else if (data === 1) { for (var i = 0; i < targetCountries.length; i++) { for (var j = 0; j < targetCountries[i].length; j++) { if (Array.isArray(targetCountries[i][j])) { targetCountries[i][j].sort((a, b) => b[2] - a[2]); } } } console.log("Литературные произведения объекта отсортированы по убыванию года издания:"); } } }; // Продемонстрировать «работу» объектов, реализовав следующие действия: // 1. Вывести информацию о государствах объекта obj1 с помощью метода outCountries console.log("Информация о государствах объекта obj1:"); obj1.outCountries(); // 2. Вывести имеющуюся информацию о государствах объекта obj2 с помощью метода outCountries объекта obj1 console.log("Информация о государствах объекта obj2:"); obj1.outCountries.call(obj2); // 3. Изменить данные obj1.countries с помощью метода changeCountries объекта obj2 obj2.changeCountries.call(obj1, 1); // 4. Отобразить изменения в браузере с помощью метода outCountries объекта obj1 console.log("Информация о государствах объекта obj1 после изменений:"); obj1.outCountries(); // 5. Показать, как (не)изменились данные поля countries объекта obj2 console.log("Информация о государствах объекта obj2:"); obj1.outCountries.call(obj2); [FONT=inherit][COLOR=inherit] [/COLOR][/FONT] var countries=[ ["Италия", "Рим", "Евразия", "Европа", -2, "итальянская лира", ["Альпы", "Пальмария", "Апеннинский полуостров", "Комо", "Тальяменто"], [["Джованни Верга", "Жизнь среди полей", 1880], ["Анна Виванти", "Цирцея", 1912], ["Джузеппе Понтиджа", "Рождённые дважды", 2000]], {"1882":"избирательная реформа", "1945":"антифашистское восстание, 18-28 апреля"} ], [ ["Эндр", "Пиренеи", "Луара", "Альпы", "Бискайский залив"], "Франция", -1, "Париж", "Евразия", "Европа", "евро", [["Александр Дюма", "Граф Монте-Кристо", 1845], ["Жюль Габриэль Верн", "Завещание чудака", 1900], ["Луи Анри Буссенар", "Капитан Сорви-голова", 2001], ["Морис Самюэль Роже Шарль Дрюон", "Тисту — мальчик с зелеными пальцами", 1957]], {"1572":"Варфоломеевская ночь", "1648":"Вестфальский мир", "1914":"Марнское сражение, 5-12 сентября"} ], [ [["Иоханна Спири", "Хайди: годы странствий и учёбы", 1880], ["Герман Гессе", "Игра в бисер", 1942], ["Макс Фриш", "Homo Фабер", 1957], ["Мелинда Надь Абонджи", "Голуби взлетают", 2010]], "Швейцария", "отсутствует", "Евразия", "Европа", -1, "Швейцарский франк", ["Бильское озеро", "Рейхенбахский водопад", "Альпы", "Алечский ледник"], {"1291":"основание Швейцарии", "1844":"начало работы первой железнодорожной линией"} ], ["Венгрия", "Будапешт", "Евразия", "Европа", -1, ["Геллерт", "Карпаты", "Веленце", "Мезёфёльд"], "Венгерский форинт", [["Янош Бачаньи", "Мужество венгров", 1785], ["Аттила Бартиш", "Спокойствие", 2001], ["Ийеш Дьюла", "Двое мужчин", 1950]], {"1222":"подписание Эндре II «Золотой буллы»", "1867":"Коронование Франца-Иосифа в Будапеште по старым обычаям, 8 июня"} ], [ "Румыния", "Бухарест", "Евразия", "Европа", "Румынский лей", ["Олт", "Трансильванское плато", "Карпаты", "Медвежья пещера", "Бабеле"], 0, {"1881":"Румыния была провозглашена королевством", "1990":"первые свободные президентские и парламентские выборы", "2004":"Румыния стала членом НАТО"}, [["Михаил Садовяну", "Золотая ветвь", 1933], ["Мирча Элиаде", "Изабель и воды дьявола", 1930]] ], [ "Япония", "Токио", "Евразия", "Азия", ["Фудзияма", "Сакурадзима", "Абукума"], [["Сюсаку Эндо", "Море и яд", 1958], ["Юдзо Ямамото", "Профессор Цумура", 1919], ["Марико Хасиока", "Аут", 1997]], {"1872":" отменена сложного и строгого сословного деления", "1904":"японский флот атаковал русскую эскадру в Порт-Артуре", "1941":"атака на Пёрл-Харбор"}, 6, "японская иена" ], [ 1.5,"Афганистан", "Кабул", "Евразия", "Азия", "афгани", [["Гуль Пача Ульфат", "Голос сердца", 1962], ["Абдуррауф Бенава", "Горестные размышления", 1957], ["Махмуд-бек Тарзи", "Путешествия через три континента за 29 дней", 1914]], {"1973":"провозглашение Республики, 17 июля", "2004":"новая Конституция и проведены первые президентские выборы"}, ["Намакзар", "Дашти-Марго", "Фарахруд", "Гиндукуш"] ], [ {"1857":"Восстание Сипаев", "1617":"Британская Ост-Индская компания получила право торговать с Индией", "1948":"Операция «Поло»", "1986":"архитектурное наследие Хампи включено в список Всемирного наследия"}, "Индия", "Нью-Дели", "Евразия", "Азия", 2.5, "Индийская рупия", ["Ганг", "Гуру-Сикар", "Дудхсагар", "Цо-Морари", "Деканские траппы"], [["Арундати Рой", "Бог мелочей", 1997], ["Хушвант Сингх", "Поезд в Пакистан", 1956]] ], ["Бразилия", "Бразилиа", "Южная Америка", "Америка", -6, "риал", ["Тапажос", "Пантанал", "пампа", "Сейшас", "Параноа"], [["Лима Баррето", "Жалкий конец Поликарпо Кваресма", 1911], ["Эрику Верисиму", "Происшествие в Антаресе", 1971], ["Шику Буарки", "Будапешт ", 2003], ["Жоаким Мануэл ди Маседу","Смуглянка", 1844]], {"1888":"Золотой закон об отмене рабства в Бразилии, 13 мая", "1935":"вооружённое выступление бразильских коммунистов и тенентистов"} ], [ ["Фанди", "Подкова", "Элсмир", "Невольничье озеро", "Оттава"], [["Филип Майкл Ондатже", "Английский пациент", 1992], ["Маргарет Этвуд", "Up In The Tree", 1978]], "Канада", "Оттава", "Северная Америка", "Америка", -7, "канадский доллар", {"1608":"основание города Квебек", "1838":"Битва за ветряную мельницу", "1867":"Канада получила право формировать собственное правительство"} ], ["Аргентина", "Буэнос-Айрес", "Южная Америка", "Америка", -6, "аргентинское песо", [["Хорхе Луис Борхес", "Фунес памятливый", 1942]], ["Охос-дель-Саладо", "Огненная земля", "Пампа", "Лагунас-де-Гуанакаче"], {"1912":"закон о всеобщем избирательном праве", "1871":"Завоевание пустыни", "1810":"Аргентинская война за независимость"} ], [ ["Кристобаль-Колон", "Магдалена", "Каука", "Анды", "Льянос"], [["Рафаэль Помбо", "Флибустьеры", 1856], ["Хосе Эустасио Ривера", "Вихрь", 1924], ["Лаура Рестрепо", "Леопард на солнце", 1993]], "Колумбия", "Богота", "Южная Америка", "Америка", -8, "колумбийское песо", {"1916":"обнаружены богатейшие запасы нефти", "1549":"образование королевской аудиенсии и канцелярии Санта-Фе де Боготы", "1886":"принята консервативная конституция"} ], [ "Англия", "Лондон", "", "", -3, "фунт стерлингов", ["Тис", "Белые клифы Дувра", "Саут-Даунс", "Скофелл-Пайк"], {"1701":"Акт о престолонаследии", "1455":"начало войны Алой и Белой розы", "1215":"Великая хартия вольностей"}, [["Майн Рида", "Огненная земля", 1883], ["Уильям Шекспир", "Ромео и Джульетта", 1595], ["Оскар Уайльд", "Портрет Дориана Грея", 1891], ["Джонатан Свифт", "Путешествия в некоторые удалённые страны мира в четырёх частях: сочинение Лемюэля Гулливера, сначала хирурга, а затем капитана нескольких кораблей", 1726]] ], [ "Мексика", "Мехико", "Южная Америка", "Америка", -9, "мексиканское песо", {"1810":"Мексиканская война за независимость", "1536":"открытие коллегиума Санта-Крус де Тлателолько", "2006":"Революция кактусов"}, ["Попокатепетль", "Калифорния", "Эль-Вискаино", "Сонора", "Чапала", "Гуадалупе", "Пещера Ласточек"], [["Октавио Пас", "Salamandra", 1962], ["Амадо Нерво", "Недвижная возлюбленная", 1922], ["Карлос Фуэнтес", "Смерть Артемио Круса", 1962], ["Хуан Рульфо", "Педро Парамо", 1955]] ] ]; JS var countries=[ ["Италия", "Рим", "Евразия", "Европа", -2, "итальянская лира", ["Альпы", "Пальмария", "Апеннинский полуостров", "Комо", "Тальяменто"], [["Джованни Верга", "Жизнь среди полей", 1880], ["Анна Виванти", "Цирцея", 1912], ["Джузеппе Понтиджа", "Рождённые дважды", 2000]], {"1882":"избирательная реформа", "1945":"антифашистское восстание, 18-28 апреля"} ], [ ["Эндр", "Пиренеи", "Луара", "Альпы", "Бискайский залив"], "Франция", -1, "Париж", "Евразия", "Европа", "евро", [["Александр Дюма", "Граф Монте-Кристо", 1845], ["Жюль Габриэль Верн", "Завещание чудака", 1900], ["Луи Анри Буссенар", "Капитан Сорви-голова", 2001], ["Морис Самюэль Роже Шарль Дрюон", "Тисту — мальчик с зелеными пальцами", 1957]], {"1572":"Варфоломеевская ночь", "1648":"Вестфальский мир", "1914":"Марнское сражение, 5-12 сентября"} ], [ [["Иоханна Спири", "Хайди: годы странствий и учёбы", 1880], ["Герман Гессе", "Игра в бисер", 1942], ["Макс Фриш", "Homo Фабер", 1957], ["Мелинда Надь Абонджи", "Голуби взлетают", 2010]], "Швейцария", "отсутствует", "Евразия", "Европа", -1, "Швейцарский франк", ["Бильское озеро", "Рейхенбахский водопад", "Альпы", "Алечский ледник"], {"1291":"основание Швейцарии", "1844":"начало работы первой железнодорожной линией"} ], ["Венгрия", "Будапешт", "Евразия", "Европа", -1, ["Геллерт", "Карпаты", "Веленце", "Мезёфёльд"], "Венгерский форинт", [["Янош Бачаньи", "Мужество венгров", 1785], ["Аттила Бартиш", "Спокойствие", 2001], ["Ийеш Дьюла", "Двое мужчин", 1950]], {"1222":"подписание Эндре II «Золотой буллы»", "1867":"Коронование Франца-Иосифа в Будапеште по старым обычаям, 8 июня"} ], [ "Румыния", "Бухарест", "Евразия", "Европа", "Румынский лей", ["Олт", "Трансильванское плато", "Карпаты", "Медвежья пещера", "Бабеле"], 0, {"1881":"Румыния была провозглашена королевством", "1990":"первые свободные президентские и парламентские выборы", "2004":"Румыния стала членом НАТО"}, [["Михаил Садовяну", "Золотая ветвь", 1933], ["Мирча Элиаде", "Изабель и воды дьявола", 1930]] ], [ "Япония", "Токио", "Евразия", "Азия", ["Фудзияма", "Сакурадзима", "Абукума"], [["Сюсаку Эндо", "Море и яд", 1958], ["Юдзо Ямамото", "Профессор Цумура", 1919], ["Марико Хасиока", "Аут", 1997]], {"1872":" отменена сложного и строгого сословного деления", "1904":"японский флот атаковал русскую эскадру в Порт-Артуре", "1941":"атака на Пёрл-Харбор"}, 6, "японская иена" ], [ 1.5,"Афганистан", "Кабул", "Евразия", "Азия", "афгани", [["Гуль Пача Ульфат", "Голос сердца", 1962], ["Абдуррауф Бенава", "Горестные размышления", 1957], ["Махмуд-бек Тарзи", "Путешествия через три континента за 29 дней", 1914]], {"1973":"провозглашение Республики, 17 июля", "2004":"новая Конституция и проведены первые президентские выборы"}, ["Намакзар", "Дашти-Марго", "Фарахруд", "Гиндукуш"] ], [ {"1857":"Восстание Сипаев", "1617":"Британская Ост-Индская компания получила право торговать с Индией", "1948":"Операция «Поло»", "1986":"архитектурное наследие Хампи включено в список Всемирного наследия"}, "Индия", "Нью-Дели", "Евразия", "Азия", 2.5, "Индийская рупия", ["Ганг", "Гуру-Сикар", "Дудхсагар", "Цо-Морари", "Деканские траппы"], [["Арундати Рой", "Бог мелочей", 1997], ["Хушвант Сингх", "Поезд в Пакистан", 1956]] ], ["Бразилия", "Бразилиа", "Южная Америка", "Америка", -6, "риал", ["Тапажос", "Пантанал", "пампа", "Сейшас", "Параноа"], [["Лима Баррето", "Жалкий конец Поликарпо Кваресма", 1911], ["Эрику Верисиму", "Происшествие в Антаресе", 1971], ["Шику Буарки", "Будапешт ", 2003], ["Жоаким Мануэл ди Маседу","Смуглянка", 1844]], {"1888":"Золотой закон об отмене рабства в Бразилии, 13 мая", "1935":"вооружённое выступление бразильских коммунистов и тенентистов"} ], [ ["Фанди", "Подкова", "Элсмир", "Невольничье озеро", "Оттава"], [["Филип Майкл Ондатже", "Английский пациент", 1992], ["Маргарет Этвуд", "Up In The Tree", 1978]], "Канада", "Оттава", "Северная Америка", "Америка", -7, "канадский доллар", {"1608":"основание города Квебек", "1838":"Битва за ветряную мельницу", "1867":"Канада получила право формировать собственное правительство"} ], ["Аргентина", "Буэнос-Айрес", "Южная Америка", "Америка", -6, "аргентинское песо", [["Хорхе Луис Борхес", "Фунес памятливый", 1942]], ["Охос-дель-Саладо", "Огненная земля", "Пампа", "Лагунас-де-Гуанакаче"], {"1912":"закон о всеобщем избирательном праве", "1871":"Завоевание пустыни", "1810":"Аргентинская война за независимость"} ], [ ["Кристобаль-Колон", "Магдалена", "Каука", "Анды", "Льянос"], [["Рафаэль Помбо", "Флибустьеры", 1856], ["Хосе Эустасио Ривера", "Вихрь", 1924], ["Лаура Рестрепо", "Леопард на солнце", 1993]], "Колумбия", "Богота", "Южная Америка", "Америка", -8, "колумбийское песо", {"1916":"обнаружены богатейшие запасы нефти", "1549":"образование королевской аудиенсии и канцелярии Санта-Фе де Боготы", "1886":"принята консервативная конституция"} ], [ "Англия", "Лондон", "", "", -3, "фунт стерлингов", ["Тис", "Белые клифы Дувра", "Саут-Даунс", "Скофелл-Пайк"], {"1701":"Акт о престолонаследии", "1455":"начало войны Алой и Белой розы", "1215":"Великая хартия вольностей"}, [["Майн Рида", "Огненная земля", 1883], ["Уильям Шекспир", "Ромео и Джульетта", 1595], ["Оскар Уайльд", "Портрет Дориана Грея", 1891], ["Джонатан Свифт", "Путешествия в некоторые удалённые страны мира в четырёх частях: сочинение Лемюэля Гулливера, сначала хирурга, а затем капитана нескольких кораблей", 1726]] ], [ "Мексика", "Мехико", "Южная Америка", "Америка", -9, "мексиканское песо", {"1810":"Мексиканская война за независимость", "1536":"открытие коллегиума Санта-Крус де Тлателолько", "2006":"Революция кактусов"}, ["Попокатепетль", "Калифорния", "Эль-Вискаино", "Сонора", "Чапала", "Гуадалупе", "Пещера Ласточек"], [["Октавио Пас", "Salamandra", 1962], ["Амадо Нерво", "Недвижная возлюбленная", 1922], ["Карлос Фуэнтес", "Смерть Артемио Круса", 1962], ["Хуан Рульфо", "Педро Парамо", 1955]] ] ]; Дело в том, что есть два объекта. Нужно изменить obj1.countries через obj2.changeCountries . Я вызываю obj2.changeCountries.call(obj1, 1); и при этом изменяется и obj1.countries и obj2.countries . Я даже проверил не равны ли ссылки. Чат лгбт хуйню несет, помочь не может. Честно, я чуть с ума не сошел, пытаясь это исправить.
Unical, либо более элегантный вариант тоже с последними обновлениями - обновляй массив targetCountries таким образом: targetCountries = targetCountries.toSorted(...) вместо sort: sort меняет изначальный массив, а toSorted не меняет, а возвращает новый массив