
JavaScript
Где я сделал ошибку в коде

до if(a = "") программа не дойдёт, но лучше там поставить ==
А что вообще должна делать функция?
А что вообще должна делать функция?
Геннадий Ушаков
возвращать true если есть нет повторяющихся букв в строке и false если есть и true если строка пустая
split для строк не нужен и дальше какая-то мешанина.
Можно вообще так:
function isIsogram(str) {
return new Set(str).size == str.length;
}
Можно вообще так:
function isIsogram(str) {
return new Set(str).size == str.length;
}
Дмитрий Ростовский
Это все круто, но не приучайте новичков не думать. Им надо учиться писать самим алгоритмы. Видите, человек в простейшей задаче не понимает, что наделал и что надо сделать.
Евгений Кунгель
У вас есть ошибка, вы не привели в нижний регистр буквы, и Сэт добавит как маленькую так и большую букву
Евгений Кунгель
А вот насчет сплита для строк не знал, спасибо за информацию!
Ваш подход написания кода
устаревший и не безопасный.
1) var используется лишь в старых скриптах, его не убрали с языка лишь для того чтобы поддерживать старый код. Сейчас let, const
2) Вы используете условия без фигурных скобок при этом тело переносите на следующую строку.
Чтобы обновить знания можно воспользоваться javascript.info или его русским аналогом learn.javascript.ru

устаревший и не безопасный.
1) var используется лишь в старых скриптах, его не убрали с языка лишь для того чтобы поддерживать старый код. Сейчас let, const
2) Вы используете условия без фигурных скобок при этом тело переносите на следующую строку.
Чтобы обновить знания можно воспользоваться javascript.info или его русским аналогом learn.javascript.ru

Геннадий Ушаков
var нужен т. к например в функции мне нужно чтобы значение менялось во всей функции а не только в каком-то блоке например
Сплитить необязательно, строка индексируется сама по себе
Второй цикл неверный, не от 0, а от следующего за i и не до i, а до конца. Двойным циклом надо проверить совпадение любых двух символов.
Если не равно - сразу true возвращаете? Это бред. Первая пара неодинаковых символов - это не проверка на изограмму. Тут достаточно оставить одно условие - если равны - то вернуть false. А в конце вне циклов вернуть true.
Последнее условие на пустую строку надо проверить сразу вне цикла. И тут ошибка, одно = это присвоенине, а не сравнение.
isIsogram = (s) => {
if (s === '') {
return true;
}
for (let i = 0; i < s.length - 1; i++) {
for (let j = i + 1; j < s.length; j++) {
if (s[i] === s[j]) {
return false;
}
}
}
return true;
}
Второй цикл неверный, не от 0, а от следующего за i и не до i, а до конца. Двойным циклом надо проверить совпадение любых двух символов.
Если не равно - сразу true возвращаете? Это бред. Первая пара неодинаковых символов - это не проверка на изограмму. Тут достаточно оставить одно условие - если равны - то вернуть false. А в конце вне циклов вернуть true.
Последнее условие на пустую строку надо проверить сразу вне цикла. И тут ошибка, одно = это присвоенине, а не сравнение.
isIsogram = (s) => {
if (s === '') {
return true;
}
for (let i = 0; i < s.length - 1; i++) {
for (let j = i + 1; j < s.length; j++) {
if (s[i] === s[j]) {
return false;
}
}
}
return true;
}
Геннадий Ушаков
if(a == "")
return true;
for(var i=0; i<str.length; i++){
for(var c=i+1; c<str.length; c++){
if(str[i] == str[c])
return false;
if(str[i] != str[c])
return true;
}
}
так?
return true;
for(var i=0; i<str.length; i++){
for(var c=i+1; c<str.length; c++){
if(str[i] == str[c])
return false;
if(str[i] != str[c])
return true;
}
}
так?
Похожие вопросы
- Не могу найти ошибку в коде.
- Прошу помочь с решением, исправить ошибки в коде.
- Проверьте 2 кода ((( пожалуйста и ткните носом на ошибку. В общем 1 код работает частично, а второй вообще не работает. JS
- В чем ошибка кода?
- Помогите разобраться в логике кода (замыкания)
- Вопрос по стилю кода. Следует ли проверять наличие свойства в объекте если я точно знаю что оно должно там быть?
- Гляньте код пожалуйста? Он работает, но мне кажется так не пишут. Да и по default что то не хочет работать код.
- Посмотрите пожалуйста задание. Всё работает. Тем не менее, интересно услышать замечания по коду.
- Как можно улучшить код?
- Нет желаемого результата в коде.