Показать сообщение отдельно
  #3 (permalink)  
Старый 20.10.2019, 21:41
Новичок на форуме
Отправить личное сообщение для Ruru Посмотреть профиль Найти все сообщения от Ruru
 
Регистрация: 19.10.2019
Сообщений: 6

Ну допустим у меня есть:

function A(){
  let x = [1,2]
  ........
  С(х)
  B(x)
}
function B(x){
  x = что то там
}
function С(x){
  let arr2 = x;
  return arr2.slice();
}


как мне теперь вынуть первоначальный х (вторая строчка) за пределы функций? Я попыталась сделать функцию С, перенести туда и передать в другую переменную, но это по сути бесполезно, так как просто вызвать потом C() я не могу, так как мне нужно ввести аргумент х который дается в первой функции. Запустить все функции сначала я тоже не могу, так как в реальности у меня этот х рандомно генерируется, то есть если запустить функцию заного этого будет уже другой массив. В данном случае никак ни вынуть?


з.ы. я пробовала также задать х заранее в глобале, по принципу:

let x = [];

function A(x){
...}

но изменения внесенные в массив в функции никак не отразятся на изначальном, он также навсегда останется пустым.

Последний раз редактировалось Ruru, 20.10.2019 в 21:47.
Ответить с цитированием