UNPKG

@ecomplus/utils

Version:

JS utility functions to E-Com Plus (not only) related apps

39 lines (38 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /** * @method * @memberof ecomUtils * @name findByProperty * @description Find object from list by some property value. * @param {Array} list - List of nested objects * @param {string} prop - Property name * @param {number|string} value - Property value to be matched * @returns {Object.<string, *>|undefined} * * @example * // Find on list of generic objects * ecomUtils.findByProperty([ { a: 1, b: 1 }, { a: 2 } ], 'a', 1) * // => { a: 1, b: 1 } * ecomUtils.findByProperty([ { a: 1 }, { a: 1, b: 1 }, { a: 0 } ], 'a', 1) * // => { a: 1 } * ecomUtils.findByProperty([ { a: 0, b: 0 }, { a: 1 } ], 'a', 3) * // => undefined */ var findByProperty = function findByProperty(list, prop, value) { // must be an array if (Array.isArray(list)) { for (var i = 0; i < list.length; i++) { var obj = list[i]; if (obj && obj[prop] === value) { // object found return obj; } } } return undefined; }; var _default = exports.default = findByProperty;