Разбор
Функция size получает размер массива, объекта или строки.
В зависимости от типа val функция возвращает: для массивов — свойство length; для объектов — length, size (если доступно) или количество ключей через Object.keys(); для строк — размер в байтах через объект Blob. Во всех остальных случаях возвращает 0.
const size = (val) =>
// Если val массив
Array.isArray(val)
? val.length
: // Если val объект
val && typeof val === "object"
? val.size || val.length || Object.keys(val).length
: // Если val строка
typeof val === "string"
? new Blob([val]).size
: 0;
// Пример:
size([1, 2, 3]); // 3
size('some text'); // 9
size({ one: 1, two: 2, three: 3 }); // 3