# @writetome51/get-average-from-property

> Returns average value of particular property found in objects

Latest version **2.0.0** (published 2020-08-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install @writetome51/get-average-from-property
pnpm add @writetome51/get-average-from-property
yarn add @writetome51/get-average-from-property
bun add @writetome51/get-average-from-property
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2020-08-03 |
| First published | 2019-01-31 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 4.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Steve Thompson |
| Maintainers | writetome51 |
| Keywords | average, value, property, objects |

## Links

- npm: https://www.npmjs.com/package/@writetome51/get-average-from-property
- Repository: https://github.com/writetome51/get-average-from-property
- Homepage: https://github.com/writetome51/get-average-from-property#readme
- Issues: https://github.com/writetome51/get-average-from-property/issues
- npm.io page: https://npm.io/package/@writetome51/get-average-from-property

## Dependencies (2)

- [@writetome51/get-array-from-property](https://npm.io/package/@writetome51/get-array-from-property.md) ^2.0.0
- [@writetome51/get-sum-average-product](https://npm.io/package/@writetome51/get-sum-average-product.md) ^2.0.0

## Recent versions

- 2.0.0 (latest) — 2020-08-03
- 1.1.1 — 2019-03-04
- 1.1.0 — 2019-02-02
- 1.0.0 — 2019-01-31

## README

# getAverageFromProperty(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;property: string,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objects<br>): number

Returns average value of `property` found in `objects`.   
Value of `property` in each of `objects` must be type 'number', or else will error.  

Note: `property` is a string that can include dot notation  
( i.e,  `'property.subproperty.subsubproperty'` ) .  
Note:  `property` does not have to be an object key. It can also be an array index.  
If getting the value of a nested array index, here you need to use dot-notation  
and not square braces.  Example: `'1.0' instead of [1][0]`

## Examples
```js
let players = [
	{name: 'Bill Mill', strikeouts: 10},
	{name: 'Milly Buttons', strikeouts: 12},
	{name: 'Mick Stan', strikeouts: 5},
	{name: 'Kelly Rogers', strikeouts: 2},
	{name: 'Angus Beef', strikeouts: 11},
	{name: 'Charlie Soup', strikeouts: 10}
];

getAverageFromProperty('strikeouts', players);
    // --> 8.333333333333334


players = [
	{stats: {strikeouts: 100}},
	{stats: {strikeouts: 20}},
	{stats: {strikeouts: 30}},
	{stats: {strikeouts: 40}},
	{stats: {strikeouts: 10}},
	{stats: {strikeouts: 15}}
];

getAverageFromProperty('stats.strikeouts', players);
    // --> 35.833333333333336


let numberGroups = [
	[[1, 5], [6, 10]],
	[[11, 15], [16, 20]],
	[[21, 25], [26, 30]],
	[[31, 35], [36, 40]]
];
// get the average of [1,11,21,31]
getAverageFromProperty('0.0', numberGroups);
    // --> 16


players = [
	{name: 'Bill Mill', strikeouts: '10'}, // string will trigger error.
	{name: 'Milly Buttons', strikeouts: 12},
	{name: 'Mick Stan', strikeouts: 5},
	{name: 'Kelly Rogers', strikeouts: 2}
];

averageStrikeouts = getAverageFromProperty('strikeouts', players);
// console: 'Error: the array contains a value that is not a number.'


players = [
	{name: 'Kelly Rogers', strikeouts: 2},
	{name: 'Angus Beef', strikeouts: 11},
	{name: 'Charlie Soup', strikeouts: 10},
	{name: 'Willy'}  // missing property will trigger error.
];

averageStrikeouts = getAverageFromProperty('strikeouts', players);
// console: 'Error: the array contains a value that is not a number.'
// (In this case, the value that is not a number is undefined)
```

## Installation

You must have npm installed first.  Then, in the command line:

```bash
npm i @writetome51/get-average-from-property
```
## Loading
```js
import {getAverageFromProperty} from '@writetome51/get-average-from-property';
```

---
_Source: https://npm.io/package/@writetome51/get-average-from-property · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
