Для проверки, все ли массивы пусты, вы можете подойти к нему следующим образом:
Это предполагает, что все значения являются массивами
let products = {color: [],brand: []};
let allEmpty = Object.values(products).every(({length}) => !Boolean(length));
console.log(allEmpty);
Поскольку аргумент является массивом, мы можем использовать присвоение деструктурирования следующим образом:
{length} // Basically to extract the attribute length
Число 0 считается falsy
, поэтому мы можем сделать явное приведение типов (или приведение типов) к значениям следующим образом:
!Boolean(length) // Coerce to boolean the number from arr.length
// The negation is needed because if the length === 0 that
// means the array is empty, so we want the result
// as true in our handler for the function every