It depends on what you mean by saying "fastest". Do you mean execution time? Fastest to type? Easiest to understand?
When "fastest to type" and "easiest to understand" is what you mean, then I'd rather say something like array.map(x => x.prop) is probably the fastest. You might find a shorter way to type it besides removing the variable and property names, but I can't think of one.
In terms of execution time, most people believe that using loops is the fastest way:
let names = [];
for (let i = 0; i < dogs.length; i += 1) {
names[i] = dogs[i].Name;
}
Personally, I avoid loops whenever possible and stick with map, filter, reduce – to be honest, mainly because for most projects my execution time is more expensive than the execution time of my script.
Anyway, deciding that is up to you.
Dogs.map(element => element.Name)? You could doDogs.map(({Name})=> Name)but that's not much of an improvement. The syntax you're proposing is not possibleNameis unknow for spreading.[...]to use? @NinaScholz that was just an example...