Курсы javascript
Необходимо определить, сколько раз слово встречается в тексте? и как это сделать?
Последний раз редактировалось Rphoenix, 13.11.2017 в 19:14 .
13.11.2017, 18:58
Регистрация: 27.11.2015
Сообщений: 2,899
13.11.2017, 19:14
Новичок на форуме
Регистрация: 14.11.2015
Сообщений: 7
13.11.2017, 21:22
Интересующийся
Регистрация: 14.07.2017
Сообщений: 21
Зачастую со строками удобнее через regex работать. Не нужно писать кучу сомнительных циклов.
'foo bar foo'.match(/foo/g).length
14.11.2017, 08:21
Регистрация: 30.04.2012
Сообщений: 2,957
'foo bar foo'.split('foo').length - 1
Как посчитать количество одинаковых элементов в массиве js
Для поиска одинаковых элементов в массиве нагляднее всего воспользоваться циклом:
const nums = [1, 2, 1, 4, 5, 1, 7, 8, 1, 10]; let count = 0; for (let i = 0; i nums.length; i +=1 ) if (nums[i] === 1) count += 1; > > // Вывод: 4
Или например, необходимо посчитать сколько раз встречается каждая цифра в исходном массиве, с помощью reduce:
const nums = [1, 2, 7, 4, 5, 2, 7, 8, 1, 10]; const res = nums.reduce((acc, i) => if (acc.hasOwnProperty(i)) acc[i] += 1; > else acc[i] = 1; > return acc; >,<>) // Вывод:
05 апреля 2023
Еще один способ. Можно использовать метод sort :
const arr = [1, 5, 0, 3, 5, 8, 9]; const unique = [. new Set(arr)]; const diff = arr.length - unique.length;
В переменной unique мы храним массив уникальных значений, полученный из основного массива arr . Для этого мы воспользовались конструкцией new Set() для создания новой коллекции уникальных значений. С помощью десктруктуризации мы перевели этот объект коллекции к массиву. Затем, с помощью свойства length на обоих массивах мы получили разницу, которая равна количеству элементов в массиве с одинаковыми значениями.
Javascript: Как посчитать сколько раз встречается каждый символ в строке? [закрыт]
Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 3 года назад .
Как создать функцию, которая принимает один аргумент — строку и возвращает объект, в котором указывается, сколько раз встречается каждый символ в переданной строке. Например,
function countChars("aabbaccd") < // код >
должна вернуть объект типа
Отслеживать
задан 9 ноя 2019 в 20:34
11 1 1 серебряный знак 3 3 бронзовых знака
и где ваши попытки?)
9 ноя 2019 в 20:36
9 ноя 2019 в 20:37
@ThisMan может, это нам задание
– user176262
9 ноя 2019 в 20:38
Вам уже рассказали про reduce — ru.stackoverflow.com/questions/1029758/…
– user176262
9 ноя 2019 в 20:39
Возможный дубликат вопроса: Оптимизация замены символа в строке на число его повторений
9 ноя 2019 в 20:47
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
function countChars_long(str) < var result = <>; var chars = str.split(""); for (var i = 0; i < chars.length; i++) < var count = result[chars[i]]? result[chars[i]] : 0; result[chars[i]] = count + 1; >return result; > function countChars_short(str) < return str.split("").reduce((r, c) =>(r[c] = (r[c] || 0) + 1, r), <>); > console.log(countChars_long("aabbaccd")); console.log(countChars_short("aabbaccd"));
Отслеживать
ответ дан 9 ноя 2019 в 20:49
user176262 user176262
Зачем вы написали решение? Видно же, что это студент, он даже не написал, что как-то пытался выполнить это задание.
9 ноя 2019 в 20:55
Спасибо, буду разбираться, как он работает, чтобы понять полностью
9 ноя 2019 в 21:03
@Leks более или менее. Я добавил длинный вариант.
– user176262
9 ноя 2019 в 21:09
-
Важное на Мете
Связанные
Похожие
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
JavaScript работа со строками
Мы уже не раз использовали строковые литералы, которые представляют собой последовательность символов, заключенную в одинарные или двойные кавычки. Все строки являются объектами типа String и с ними можно производить некоторые действия, например, мы уже знакомы с операцией конкатенации, т.е. объединения строк. В этом уроке посмотрим другие возможности работы со строками.
Для начала определимся с некоторыми понятиями:
-
Алфавит — конечное множество символов.
Чтобы создать строковый объект можно воспользоваться конструктором newString. Например:
var s = newString(«Итого:»);
Если применить единственное свойство объекта String — length, то мы узнаем длину строки.
Для нашего примера, результатом выполнения s.length будет число 6.
Рассмотрим методы, влияющие на строку:
-
charAt(n) — возвращает символ, позицию которого определяет параметр n.
Для нашего примера, результатом выполнения s.charAt(0) будет буква «И».
Для примера напишем сценарий, который будет определять, сколько раз заданное слово встречается в определенном тексте.
Код html-страницы будет следующим: