UNPKG

mathball

Version:

A JavaScript library for Competitive Programming

41 lines (35 loc) 961 B
'use strict'; var validate = require('../validation/frequency'); /** * Find the occurence count of a phrase * @param {string} str * @param {string} occurance */ var findStrOccurence = function findStrOccurence(str, occurance) { var count = 0; var flag = -1; do { flag = str.indexOf(occurance, flag + 1); if (flag !== -1) { count++; } } while (flag !== -1); return count; }; /** * Frequency * * `frequency()` accepts two arguments and return the occurance of second argument in first * @param {string|number|string[]|number[]} arg - Accepts either a String or an Array * @param {string|number} occurence - The phrase or array item you want to find */ module.exports = function (arg, occurence) { validate(arg, 'frequency'); if (arg && arg.constructor === Array) { return arg = arg.filter(function (val) { return val === occurence; }).length; } else { return findStrOccurence(arg, occurence); } };