Michaly4
@Michaly4
Учусь всю жизнь учусь)

Создать объект со следующим функционалом!?

Приветствую
Не могу закончить,не знаю как правильно и куда докинуть условия...((( Нельзя использовать Math!!
const myMath = {
    minNum(...num){
let min = num[0];
for(let i = 1; i < num.length;i++){
   if(num[i] < min {
min = num[i];
}
}
console.log(`минимальное число ${min}`);
}
};
myMath.minNum(-1,2,5,7); // и ещё myMath() или myMath ('ghhf').

Тут всё работает как надо, единственное нужно добавить ещё 2 условие ,если (myMath ()) т.е. в функцию ничего не передали то выводить -"пжл введите данные" а если передали не число(myMath('dhfhgf')) то - "введите пжл число"...
Я незнаю куда, и как правильно оформить, чтобы выводилсь все три условия, в зависимости что я напишу или нет в myMath ().
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 3
@webdisigner
var myMath = {
    minNum(...num){
    
    var min = num[0];
    for(let i = 1; i < num.length;i++){
       if(num[i] < min) {
          min = num[i];
       }
    }
    console.log(isFinite(min)? `минимальное число ${min}` :  num.length? 'введите пжл число' : 'пжл введите данные')
    }
}

myMath.minNum('abc'); // введите пжл число
myMath.minNum(); // "пжл введите данные"
myMath.minNum(1,-1,0,77); // "минимальное число -1"
Ответ написан
@azaya
const MATH = {
  min(...args) {
    this.x = args;
    return this;
  },

  toString() {
    if (this.x.length === 0) return `Пожалуйста, введите данные!`;
    if (!this.x.every(Number.isInteger)) return 'Пожалуйста, вводите только числа!'
    return this.x.sort((a, b) => a - b)[0];
  }
};

MATH.min(1, 2, 3, 0, -1, -500).toString();
Ответ написан
Tim-A-2020
@Tim-A-2020 Куратор тега JavaScript
Если брать ваш код, то можно примерно так:
const myMath = {
  minNum(...num) {
    if (!num.length) {
      return console.log(`введите данные`);
    }
    num = num.filter(num => !isNaN(num - parseFloat(num)));
    if (!num.length) {
      return console.log(`введите пжл число`);
    }
    let min = num[0];
    for (let i = 1; i < num.length; i++) {
      if (num[i] < min) {
        min = num[i];
      }
    }
    console.log(`минимальное число ${min}`);
  }
}
myMath.minNum('1', 2, -1); //  минимальное число -1
myMath.minNum('строка'); // введите пжл число
myMath.minNum(); // введите данные
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
23 янв. 2021, в 18:06
5000 руб./за проект
23 янв. 2021, в 17:51
150000 руб./за проект