@DPS_ninja

Как перевести положительное число в отрицательное и наоборот на JS?

function invert(array) {
   for (let i = 0; i < array.length; i++) {
         if(array[i] === "0") {
           array[i] = array[i] * (1);
         }
         array[i] = array[i] * (-1);
      }
   return array ;
}


Как сделать так ,чтобы 0 не становился -0 при вызове функции с массивом содержащей 0? Спасибо.

invert([0,1,2,3,4,5]);
(6) [-0, -1, -2, -3, -4, -5]
  • Вопрос задан
  • 25191 просмотр
Решения вопроса 4
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
if(array[i] === "0")
Строгое сравнение, следовательно, никогда не сработает, если передавать числа, а не строки.

array[i] = array[i] * (-1);
А эта строка вообще всегда безусловно выполняется.

function invert(array) {
  for (let i = 0; i < array.length; i++) {
    if (array[i] != 0) {
      array[i] = array[i] * -1;
    }
  }

  return array ;
}

5c07bacb8185e559423888.png
Ответ написан
Decadal
@Decadal
У вас строгое сравнение с "0"
Уберите кавычки для нуля вот здесь:
if(array[i] === "0") {
Ответ написан
@dimoff66
Кратко о себе: Я есть
Можно просто написать
for (let i = 0; i < array.length; i++) array[i] = -array[i] || 0;
Ответ написан
@holodoz
array.map(elem => elem ? elem * -1 : 0)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@msdosx86
array.map(item => item * -1);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы