pretty basic question I think, but I couldn\'t find info on that.
Through d3 I parse a csv and each object look like this
name: \"whatever\"
number:
If you are using lodash, you can do this:
var numbers = _.map(originalArray, 'number')
for (i=0; i<myArrayOfObjects.length; i++) {
doWhatever(myArrayOfObjects[i].number);
}
Use array.map:
var numbers = objects.map(function(o) { return o.number; });
ES6 version:
const numbers = objects.map( o => o.number );
Enjoy.
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");