0 / 0 / 2
Регистрация: 04.07.2014
Сообщений: 99
1

два способа, один не работает

17.07.2017, 17:00. Показов 602. Ответов 3
Метки нет (Все метки)

Задание: Создайте функцию truncate(str, maxlength), которая проверяет длину строки str, и если она превосходит maxlength – заменяет конец str на "...", так чтобы ее длина стала равна maxlength.


Написал так, но не работает

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function truncate(str, maxlength) {   
var strlength = str.length;
if (strlength > maxlength){
    return str = strlength.slice(0, maxlength, 17) + "...";
} 
 
return str;
 
}
   
 
    
   
 
alert( truncate("Вот, что мне хотелось бы сказать на эту тему:", 20) );
alert( truncate("Всем привет!", 20) );

А ответ в задаче работает:

Javascript
1
2
3
4
5
6
7
8
9
10
11
function truncate(str, maxlength) {
  if (str.length > maxlength) {
    return str.slice(0, maxlength - 3) + '...';
    // итоговая длина равна maxlength
  }
 
  return str;
}
 
alert( truncate("Вот, что мне хотелось бы сказать на эту тему:", 20) );
alert( truncate("Всем привет!", 20) );


Почему мой не работает, в чём причина?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2017, 17:00
Ответы с готовыми решениями:

Два способа решения - два разных ответа
почему-то два разных способа решения задачи приводят к двум разным ответам. Задача такова: ...

Не работает ни один браузер два
https://www.cyberforum.ru/viruses/thread948308.html#post5077318 логи с первого компа (на котором...

Два способа создания методов
Всем привет. Надо сделать лабораторную работу в C# на создание двух одинаковых методов, которые...

Два способа использования QThread
Тема скорее для обсуждения и для кого-то информационная. Для примера возьмем традиционный...

3
Эксперт JS
2068 / 1434 / 558
Регистрация: 11.07.2016
Сообщений: 3,379
17.07.2017, 17:06 2
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function truncate(str, maxlength) {   
var strlength = str.length;
if (strlength > maxlength){
    return str = str.slice(0, maxlength, 17) + "...";
} 
 
return str;
 
}
   
 
    
   
 
alert( truncate("Вот, что мне хотелось бы сказать на эту тему:", 20) );
alert( truncate("Всем привет!", 20) );
0
445 / 325 / 219
Регистрация: 31.05.2016
Сообщений: 908
17.07.2017, 17:07 3
В этой строке причина:
Javascript
1
return str = strlength.slice(0, maxlength, 17) + "...";
1
0 / 0 / 2
Регистрация: 04.07.2014
Сообщений: 99
18.07.2017, 08:46  [ТС] 4
sash23, Спасибо, эхх моя невнимательность)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2017, 08:46

Два способа вызова функции
#include <iostream> using namespace std; auto myFunc() -> void { cout << "MyFunc" << endl;...

Два способа решения задачи
Задача. Решите двумя способами следующую задачу: а.За 16 лопат уплатили 9 руб.60 коп.Сколько...

Два способа считывать данные от пользователя
Здравствуйте. Начал изучать Java и интересует один вопрос. Есть два способа считать данные от...

Написать еще два способа решения
int c = 0, k; Console.WriteLine("Введите число"); k =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.