Files
30-seconds-of-code/snippets/size.md
30secondsofcode 09a8ba5219 Travis build: 1854
2020-04-04 13:57:32 +00:00

790 B

title, tags
title tags
size object,array,string,intermediate

Gets the size of an array, object or string.

Get type of val (array, object or string). Use length property for arrays. Use length or size value if available or number of keys for objects. Use size of a Blob object created from val for strings. Split strings into array of characters with split('') and return its length.

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;
size([1, 2, 3, 4, 5]); // 5
size('size'); // 4
size({ one: 1, two: 2, three: 3 }); // 3