UNPKG

@walts81/linq-ts

Version:

Typescript/Javascript LINQ implementation library

23 lines (22 loc) 777 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.minOrMax = void 0; const _common_1 = require("./_common"); function minOrMax(collection, selector, comparer, type) { if (collection.length === 0) throw new _common_1.EmptyArrayException(); let result = undefined; let resultIndex = 0; for (let i = 0; i < collection.length; i++) { const item = collection[i]; if (result === undefined || (type === 'max' ? comparer(selector(item, i), selector(result, resultIndex)) > 0 : comparer(selector(item, i), selector(result, resultIndex)) < 0)) { result = item; resultIndex = i; } } return result; } exports.minOrMax = minOrMax;