Js сколько раз встречается символ в строке
Перейти к содержимому

Js сколько раз встречается символ в строке

  • автор:

Курсы 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(«Итого:»);

Если применить единственное свойство объекта Stringlength, то мы узнаем длину строки.
Для нашего примера, результатом выполнения s.length будет число 6.

Рассмотрим методы, влияющие на строку:

    charAt(n) — возвращает символ, позицию которого определяет параметр n.
    Для нашего примера, результатом выполнения s.charAt(0) будет буква «И».

Для примера напишем сценарий, который будет определять, сколько раз заданное слово встречается в определенном тексте.

Код html-страницы будет следующим:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *