I’m looking for an alternative version for the Object.values()
function.
As described here the function is not supported in Internet Explorer.
When executing the following example code:
var obj = { foo: 'bar', baz: 42 }; console.log(Object.values(obj)); // ['bar', 42]
It works in both, Firefox and Chrome, but throws the following error in IE11:
Object doesn’t support property or method “values”
Here you can test it: Fiddle.
So, what would be a quick fix?
Advertisement
Answer
You can get array of keys with Object.keys()
and then use map()
to get values.
var obj = { foo: 'bar', baz: 42 }; var values = Object.keys(obj).map(function(e) { return obj[e] }) console.log(values)
With ES6 you can write this in one line using arrow-functions.
var values = Object.keys(obj).map(e => obj[e])