UNPKG

dist-javascript-algorithms-and-data-structures

Version:

Algorithms and data-structures implemented on JavaScript

29 lines (25 loc) 784 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = linearSearch; var _Comparator = _interopRequireDefault(require("../../../utils/comparator/Comparator")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Linear search implementation. * * @param {*[]} array * @param {*} seekElement * @param {function(a, b)} [comparatorCallback] * @return {number[]} */ function linearSearch(array, seekElement, comparatorCallback) { const comparator = new _Comparator.default(comparatorCallback); const foundIndices = []; array.forEach((element, index) => { if (comparator.equal(element, seekElement)) { foundIndices.push(index); } }); return foundIndices; }