私はこのオブジェクトを持っています:
var data = {"id": 1, "second": "abcd"};
これらはフォームからの値です。これを検証のために関数に渡します。
上記のプロパティが存在する場合、data["id"]
とで値を取得できますdata["second"]
が、他の値に基づいて、プロパティが異なる場合があります。
data
プロパティ名に関係なく値を取得するにはどうすればよいですか?
私はこのオブジェクトを持っています:
var data = {"id": 1, "second": "abcd"};
これらはフォームからの値です。これを検証のために関数に渡します。
上記のプロパティが存在する場合、data["id"]
とで値を取得できますdata["second"]
が、他の値に基づいて、プロパティが異なる場合があります。
data
プロパティ名に関係なく値を取得するにはどうすればよいですか?
プロパティの名前を知らなくてもオブジェクトのプロパティにアクセスするには、for ... in
ループを使用できます。
for(key in data) {
if(data.hasOwnProperty(key)) {
var value = data[key];
//do something with value;
}
}
これを1行で実行したい場合は、次を試してください。
Object.keys(a).map(function(key){return a[key]})
定義されている場合$
は、反復できます
var data={"id" : 1, "second" : "abcd"};
$.each(data, function() {
var key = Object.keys(this)[0];
var value = this[key];
//do something with value;
});
キーの値がわかっている場合は、次の方法でアクセスできます
data.id
また
data["id"]
ロダッシュの使用 _.values(object)
_.values({"id": 1, "second": "abcd"})
[ 1, 'abcd' ]
lodash
には、配列、オブジェクト、コレクション、文字列などを操作するための他の関数が多数含まれており、JavaScript に組み込みたい(そして、実際にはゆっくりと言語に組み込まれているようです)。