私は複数のプロパティを持つことができるグローバルオブジェクトMyFruitsを持っています。少なくとも、ApplesとOrangeの2つのプロパティがあります。私はそれがこれらの2つ以上のプロパティを持っているかどうかを調べる必要があります。javascriptのテストオブジェクトのプロパティ
現時点では、MyFruitsを文字列化し、ApplesプロパティとOrangesプロパティだけで新しいオブジェクトを作成し、文字列化して両方の文字列の長さを比較します。このような何か:それは働いているように今の
var JsonString1 = JSON.stringify(MyFruits);
var test2 = new Object();
test2.Apples= MyFruits.Apples;
test2.Oranges= MyFruits.Oranges;
var JsonString2= JSON.stringify(test2);
alert(JsonString1.length - JsonString2.length);
は、それが最初に思える:MyFruitsはちょうど2つの主なものよりも多くのプロパティが含まれている場合、長さの違いがObject.keys(obj).length
あります0
とは異なりますメソッドは、オブジェクトのプロパティの数を数えることができますが、それは新しく、すべてのブラウザでサポートされていないので、私はそれを使用するつもりはありません。
これを行う最も良い方法ですか?もっと良い方法があれば教えてください。
ご意見ありがとうございます。
参照:https://github.com/kriskowal/es5-shim –
オブジェクトのプロパティの数を数えますか? –