const str = "Можете подсказать, как сделать, если в строке более 40 символов часть текста скрывалась?";
function short(str, len = 40) {
if (str.trim().length <= len) return str.trim();
return str.trim().substr(0, len - 3).trim() + "...";
}
short(str); // строка до 40 символов, включая точки
short(str, 80); // строка до 80 символов, включая точкиfunction isPrime(n) {
for (let i = 2; i * i <= n; i == 2 ? i++ : i += 2) if (n % i == 0) return false;
return n > 1;
}
const res = [...Array(41)].reduce((a, _, i) => a.concat(isPrime(i) ? `Делители числа ${i}: 1 и ${i}` : []) , []).join('\n'); function test(str) {
if (typeof str !== 'string') {
alert('аргумент не строка');
return;
}
str = str.trim();
return str.length > 50 ? str.slice(0, 50) + '...' : str;
}b = a.split(' ').join('');else if (b > 50 && b == 50) {else if (b > 50 && b == 50) {document.write(b + '... ');b > 50 && b == 50
let items = prompt('Что принесет дополнительный доход? (Перечислите через запятую)', '');
while (!isNaN(items)) {
items = prompt('Что принесет дополнительный доход? (Перечислите через запятую)', '');
}
// смотрим, что скажет оператор typeof
const isString = x => typeof x === 'string';
// сравниваем значение и результат его преобразования в строку
const isString = x => x === `${x}`;
// проверяем конструктор (помимо примитивов, выдаёт true и для строковых объектов)
const isString = x => x != null && x.constructor === String;// cобираем новый массив
const newArr = arr.filter(n => !isString(n));
// удаляем элементы существующего
arr.length -= arr.reduce((acc, n, i, a) => (
a[i - acc] = n,
acc + isString(n)
), 0); let str = "урок-3-был слишком легким".match(/легким/)[0].replace(/.{2}$/, 'о'); num = arr.slice(3,-2)
let week = ["Понедельник\n", "Вторник\n", "Среда\n", "Четверг\n", "Пятница\n", "Суббота\n", "Воскресенье"]
week.forEach((em, i) => {
i++;
let tagName = (i === 6 || i === 7) ? 'strong' : 'span';
let newEm = document.createElement(tagName);
newEm.innerHTML = em;
document.body.appendChild(newEm);
});