Files
30-seconds-of-code/snippets/size.md
Isabelle Viktoria Maciohsek 47276ac092 Update snippet descriptions
2020-10-21 21:17:45 +03:00

31 lines
828 B
Markdown

---
title: size
tags: object,array,string,intermediate
---
Gets the size of an array, object or string.
- Get type of `val` (`array`, `object` or `string`).
- Use `Array.prototype.length` property for arrays.
- Use `length` or `size` value if available or number of keys for objects.
- Use `size` of a [`Blob` object](https://developer.mozilla.org/en-US/docs/Web/API/Blob) created from `val` for strings.
- Split strings into array of characters with `split('')` and return its length.
```js
const size = val =>
Array.isArray(val)
? val.length
: val && typeof val === 'object'
? val.size || val.length || Object.keys(val).length
: typeof val === 'string'
? new Blob([val]).size
: 0;
```
```js
size([1, 2, 3, 4, 5]); // 5
size('size'); // 4
size({ one: 1, two: 2, three: 3 }); // 3
```