30秒学会 JavaScript 片段 · 2023年1月6日

30秒学会 JavaScript 片段 – Size of array, object or string

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 created from val 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