Gets the size of an array, object or string.
- Get type of
val
(array
,object
orstring
). - Use
Array.prototype.length
property for arrays. - Use
length
orsize
value if available or number of keys for objects. - Use
size
of aBlob
object created fromval
for strings.
代码实现
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
翻译自:https://www.30secondsofcode.org/js/s/size-of-array-object-or-string