Как проверить, является ли все атрибуты нулевой или пустой строкой с loda sh? - PullRequest
0 голосов
/ 27 марта 2020

У меня есть объект:

const obj = {
    name: "",
    age: null
}

Как я могу проверить, все ли атрибуты имеют значение null или "" с loda sh? Если это так, вернуть true, если некоторые атрибуты не равны null или "", тогда false.

Ответы [ 2 ]

3 голосов
/ 27 марта 2020

С loda sh вы можете использовать _.every(), чтобы проверить, все ли свойства пусты:

const obj = {
  name: '',
  age: null
}

const result = _.every(obj, v => v === '' || _.isNull(v))

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
1 голос
/ 27 марта 2020

Вы можете использовать Object.values, Array.every и Array.includes:

const obj1 = { name: "", age: null }
const obj2 = { name: "", age: null, b: 0 }
const obj3 = { name: "", age: null, b: NaN }
const obj4 = { name: "", age: null, b: false }
const obj5 = { name: "", age: null, b: undefined }

function checkEmptyOrNull(obj) {
  return Object.values(obj).every(v => ['', null].includes(v))
}

console.log(checkEmptyOrNull(obj1))
console.log(checkEmptyOrNull(obj2))
console.log(checkEmptyOrNull(obj3))
console.log(checkEmptyOrNull(obj4))
console.log(checkEmptyOrNull(obj5))
...