jsのある処理で、オブジェクトに2つ以上メンバ数がある際に分岐させるときにつまづいたのでメモ。
普通にこうやったらうまくいかなかった。
var dataList = {
"apple" : 120,
"banana": 100
};
if (dataList.length >= 2) { // dataList.length はundefined
// ほげほげ
}
調べてみると残念ながらどうやらオブジェクトにlengthプロパティはないらしい。
eachで泥臭くカウントしていくしかないのかと思いきや、この記事のotakaさんのコメントでスマートに解決出来た。
var dataList = {
"apple" : 120,
"banana": 100
};
if (Object.keys(dataList).length >= 2) { // Object.keys(dataList) は["apple","banana"]
// ほげほげ
}
otakaさん、ありがとうございます!