I’ve extracted the non-blocking .map and .select implementation that I use in my mobile apps to keep them responsive while processing large arrays. I called it overscore.js and it’s available on github.