Sebenarnya untuk mengecek nilai array itu kosong sangatlah mudah, kalau suatu array itu kosong, nilai length-nya nol.

Bisa dicoba dengan potongan kode di bawah ini.

const food = []

console.log(food.length) // 0

Berikut ini cara mengecek apakah array-nya kosong dengan membuat fungsi sederhana bernama isEmptyArray.

const isEmptyArray = (array) => array.length === 0

isEmptyArray([]) // true
isEmptyArray([1, 2, 3]) // false

Selain dengan operator komparasi seperti pada kode di atas, kalian juga dapat menggunakan operator logika NOT atau ! seperti di bawah ini.

const isEmptyArray = (array) => !array.length

isEmptyArray([]) // true
isEmptyArray([1, 2, 3]) // false

Tapi, jika argumen yang diberikan bukanlah sebuah array akan timbul masalah, misalnya kalian memasukkan string kosong sebagai argumen, hasilnya akan selalu mengembalikan nilai true. Hal ini bisa terjadi karena string memiliki properti length.

const isEmptyArray = (array) => !array.length

isEmptyArray([]) // true
isEmptyArray([1, 2, 3]) // false
isEmptyArray('') // true

Untuk mengatasinya, kita perlu menambahkan metode Array.isArray untuk memvalidasi kalau argumen yang dimasukkan adalah array.

const isEmptyArray = (array) => Array.isArray(array) && !array.length

isEmptyArray([]) // true
isEmptyArray([1, 2, 3]) // false
isEmptyArray('') // false