Nioe writeup on these non-mutating methods. It is worth noting that if you have *VERY* large arrays in React you may want to combine with a viewport handler so only the visible nodes are rendered in order to improve DOM performance. It's one of the few places that I will lean towards earlier than later optimization as it can get noticeable fairly quickly.