Accessing properties of an array of objects

In JavaScript, you can't, because there is no such array. If you've got an array of objects, well, each object is its own precious little snowflake. You can of course transfer the "number" values to a new array, but it'd definitely be a new array.

Some toolkits (Prototype and maybe Functional and Underscore) have a "pluck()" facility that's designed to do exactly what you want, but they too are forced to create new arrays.

function pluck(array, property) {
  var i, rv = [];

  for (i = 0; i < array.length; ++i) {
    rv[i] = array[i][property];
  }

  return rv;
}

Then:

var arrayOfNumbers = pluck(originalArray, "number");

ES6 version:

const numbers = objects.map( o => o.number );

Enjoy.


Use array.map:

var numbers = objects.map(function(o) { return o.number; });