PROGBLOG Developers Blog

空想家 Developers Blog

稼ぐ力? とにかくスキルが欲しい。

length が undefined になった時に別の手段で対処する

undefined になる

let list = {
    hoge: 000,
    fuga: 001,
    piyo: 002
};
console.log(list.length) // undefined

undefined になる理由は

オブジェクトに length は効かないとのこと。

オブジェクトについては下記、参照。

JavaScriptでは、数値も文字列も配列も、すべてはオブジェクトである(everything is an object)といわれます。オブジェクトとは、データと属性が一緒になったものを指します。

正直よくわからないので、lengthundefined になった時は都度、別の方法(下記)をを試してみる。

解決方法は

let list = {
    hoge: 000,
    fuga: 001,
    piyo: 002
};
console.log(list.length) // undefined
console.log(Object.keys(list).length) // 3

Object.keys(list).length)

で、無事解決。