Почему я получаю одинаковый вывод для обоих апельсинов и ab c arrys? - PullRequest
0 голосов
/ 04 апреля 2020
//ORANGES=[5,-6]/// T=11

function countApplesAndOranges(s, t, a, b, apples, oranges) {

  var abc = oranges;
  abc.forEach(function(item, index, arr) {
    arr[index] = item + t
  });
  console.log(abc)
  console.log(oranges)


}

//OUTPUT FOR BOTH [16,5] HOW ????///

1 Ответ

1 голос
/ 04 апреля 2020

Как сказал @uminder, строка var abc = orange в строке abc ссылается на массив orange. Так что обе ссылки одинаковы.

Вместо этого вы можете сделать var abc = [...orange].

function countApplesAndOranges(s, t, a, b, apples, oranges) {

  var abc = [...oranges];

  abc.forEach(function(item, index, arr) {
    arr[index] = item + t
  });
  console.log(abc)
  console.log(oranges)


}

ИЛИ ,

function countApplesAndOranges(s, t, a, b, apples, oranges) {

  var abc = [];
  oranges.forEach(function(item, index) {
    abc[index] = item + t
  });
  console.log(abc)
  console.log(oranges)


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...