Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Сократить запись (https://javascript.ru/forum/dom-window/79749-sokratit-zapis.html)

Сергей Ракипов 18.03.2020 22:02

Сократить запись
 
У меня есть функция которая подставляет последние буквы в слова в зависимости от результата
Например
осталось 1 минуТА
осталось 2 минуТЫ
осталось 6 минуТ


let endingMinut = "";
let endingMinut_1 = "а";
let endingMinut_2 = "ы";

function endingMinutFun(){
if(rezult_2==1){
endingMinut = endingMinut_1;
}
else if(rezult_2>=2&&rezult_2<=4){
endingMinut = endingMinut_2;
}
else if(rezult_2>=5&&rezult_2<=20){
endingMinut = endingMinut;
}
if(rezult_2==21){
endingMinut = endingMinut_1;
}
else if(rezult_2>=22&&rezult_2<=24){
endingMinut = endingMinut_2;
}
else if(rezult_2>=25&&rezult_2<=30){
endingMinut = endingMinut;
}
}
endingMinutFun();

И что бы сделать на всю минуту нужно прописать полностью до шести десятков.

Сергей Ракипов 18.03.2020 22:17

А можете кратко объяснить что тут

Aetae 18.03.2020 22:17

Использовать либу на все случае жизни.

Ну либо вырвать прям из той либы:
function pluralize(count, one, two, five) {
  count = Math.floor(Math.abs(count)) % 100;

  if (count > 10 && count < 20) 
    return five;

  count = count % 10;

  if (1 === count) 
    return one; 

  if (count >= 2 && count <= 4) 
    return two; 

  return five;
}

const minutes = ['минута', 'минуты', 'минут'];


alert(
  [ 1, 2, 6]
  .map(i => i + ' ' + pluralize(i, ...minutes))
  .join('\n')
);

рони 18.03.2020 22:25

:)

функция склонения слов

таймер до нового года осталось

Aetae 18.03.2020 22:28

Сергей Ракипов, заменил на более понятную. (в предыдущей было то же самое в принципе)

antonrep11n 19.03.2020 11:52

Спасибо большое! Кстати, ну на моем ведре запускаются автоматы с выводом денег на телефон Андроид без особого труда. Хотя у меня телефон не очень крутой.

Сергей Ракипов 26.03.2020 09:03

А как можно сократить такую запись

div[2].style.background = "teal";
div[2].style.padding = "10px";
div[2].style.color = "#fff";

ksa 26.03.2020 09:19

Цитата:

Сообщение от Сергей Ракипов (Сообщение 521770)
А как можно сократить такую запись
div[2].style.background = "teal";
div[2].style.padding = "10px";
div[2].style.color = "#fff";

Все эти стили оформить в css-классе... Потом просто назначить этот класс элементу.
.test {
background: teal;
padding: 10px;
color: #fff;
}

div[2].classList.add('test')

рони 26.03.2020 09:27

Сергей Ракипов,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  div{
      width: 100px;
      height: 100px;
      border: 1px solid #0000FF;
  }

  </style>

</head>
<body>
<div>0</div>
<div>1</div>
<div>2</div>
<script>
   const div = document.querySelectorAll('div');
   const opt = {backgroundColor : 'teal', padding : '10px', color : '#FFFFFF'};
   Object.assign(div[2].style, opt);
</script>
</body>
</html>

Сергей Ракипов 26.03.2020 09:28

Спасибо


Часовой пояс GMT +3, время: 18:55.