javascript: однострочная проверка значений объекта/массива на заданные значения

Подскажите, можно ли вот этот код:

for (const obj of data) {
    if ((obj[1] == undefined) || (obj[1] == ""))
        return true;
}

return false;

или этот:

for (const index in data) {
    if ((data[index] == undefined) || (data[index] == ""))
        return true;
}

return false;

записать красивым однострочным способом? (может есть какие-то инструменты javascript для этого?)

т.е. смысл - если хотя бы какое-то значение массива пустое или не определено или хотя бы один элемент объекта пустой или не определен, то вернуть true иначе false


Ответы (1 шт):

Автор решения: Ruslan Mart

Вот так

const result = Object.values(data).some((item) => item === undefined || item === '');

console.log(result);

Или даже так:

const result = Object.values(data).some(Boolean);

console.log(result);

Но в таком случае 0 будет считаться "пустотой"

Можно ещё так :)

const result = Object.values(data).some((item) => item !== 0 && !!item);

console.log(result);
→ Ссылка