How do I access properties of a javascript object if I don't know the names?

前端 未结 8 1404
囚心锁ツ
囚心锁ツ 2020-11-28 18:49

Say you have a javascript object like this:

var data = { foo: \'bar\', baz: \'quux\' };

You can access the properties by the property name:

8条回答
  •  孤城傲影
    2020-11-28 19:13

    Old versions of JavaScript (< ES5) require using a for..in loop:

    for (var key in data) {
      if (data.hasOwnProperty(key)) {
        // do something with key
      }
    }
    

    ES5 introduces Object.keys and Array#forEach which makes this a little easier:

    var data = { foo: 'bar', baz: 'quux' };
    
    Object.keys(data); // ['foo', 'baz']
    Object.keys(data).map(function(key){ return data[key] }) // ['bar', 'quux']
    Object.keys(data).forEach(function (key) {
      // do something with data[key]
    });
    

    ES2017 introduces Object.values and Object.entries.

    Object.values(data) // ['bar', 'quux']
    Object.entries(data) // [['foo', 'bar'], ['baz', 'quux']]
    

提交回复
热议问题