私は次の形式でデータベース呼び出しから作成されたオブジェクトを持っている:Javascriptを/ jQueryの未定義のオブジェクトの長さ
Object { group1={...}, same=null, group2=null}
私はGROUP1内の項目の数を取得しようとしています、グループ2など。
私はそうのようなコンソールを介してアクセス:上記画像における
dataObj.group1.length
、これは未定義返します。しかし、もし私がgroup1
に複数のアイテムを持っていれば、それはちょうどいい数を返します。オブジェクト/配列内に単一の項目がある場合にのみ問題が発生するようです。
これらの可能性を説明し、上記のオブジェクトの項目のlength
を返すために使用できる関数はありますか?
更新:
は、これは私が私のデータを作成しています方法です:
success: function(data) {
// Define our data response
var d = data.data;
// Push our data to an object
dataObj = {
same: (d.same ? d.same.tools : null),
group1: (d.group1 ? d.group1.tools : null),
group2: (d.group2 ? d.group2.tools : null)
}
// Render our table
renderCompare();
}
ここから、私はsame
、group1
、group2
内の項目の金額を取得しようとしています。
これは、複数のアイテムがレスポンスに含まれている場合の例です。 dataObj.group1.length
を使用してアクセスでき、2
が正しく返されます。すべて私は彼の方法を把握しようとしているときにのみこれが1
結果です。
私は質問で混乱しています。オブジェクトのプロパティの数を数える方法をお探しですか? – stackoverfloweth
オブジェクトには長さがありません。したがって、グループ1のプロパティの数にかかわらず、 'undefined'を取得する必要があります。 – Archer
@Archerなぜgroup1に2つのアイテムがあり、それから1つのアイテムがある場合、これは機能しますか? – SBB