91

私はこのオブジェクトを持っています:

var data = {"id": 1, "second": "abcd"};

これらはフォームからの値です。これを検証のために関数に渡します。

上記のプロパティが存在する場合、data["id"]とで値を取得できますdata["second"]が、他の値に基づいて、プロパティが異なる場合があります。

dataプロパティ名に関係なく値を取得するにはどうすればよいですか?

4

6 に答える 6

106

プロパティの名前を知らなくてもオブジェクトのプロパティにアクセスするには、for ... inループを使用できます。

for(key in data) {
    if(data.hasOwnProperty(key)) {
        var value = data[key];
        //do something with value;
    }
}
于 2013-07-14T01:58:32.853 に答える
49

これを1行で実行したい場合は、次を試してください。

Object.keys(a).map(function(key){return a[key]})
于 2014-09-11T21:46:17.870 に答える
14

定義されている場合$は、反復できます

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"]
于 2015-08-18T09:53:40.713 に答える
3

ロダッシュの使用 _.values(object)

_.values({"id": 1, "second": "abcd"})

[ 1, 'abcd' ]

lodashには、配列、オブジェクト、コレクション、文字列などを操作するための他の関数が多数含まれており、JavaScript に組み込みたい(そして、実際にはゆっくりと言語に組み込まれているようです)。

于 2016-10-28T00:16:34.907 に答える