I suggest that you talk with his pediatrician. Or take him to a developmental pediatrician. This could be caused by his frustration as the result of developmental delays. Another idea is to consult with a parenting coach to perhaps learn a way of disciplining that will work for him.
My grandson has developmental issues and his mother learned from a parenting coach and her older daughter's school counselor to use time outs in their room. She consistently sent him to his room whenever he acted out. The same thing no matter the misbehavior. This has to be consistently the same consequence and with every episode.
He was around 4 when this started. At first she had to take him to his room and stand outside to be sure he stayed in his room. After just a week or two he'd go without any difficulty.
Once in his room he could play. The idea was this gave him a quiet time to calm himself down. He could come out whenever he was ready to say he was sorry for what he'd done. At first and sometimes still it takes a time or two or three for him to come out before he was able to say sorry in a meaningful way.
Once he says he's sorry, we give him a big hug, remind him what he did to be sent to his room and tell him he's loved.
You can work on preventing this behavior too. It's often caused by being overly tired, overly stimulated, and/or hungry. Have 3 meals and 3 snacks in a day. Be sure he gets to bed with a regular routine and early enough to get enough sleep. A predictable schedule often helps our little ones to manage their emotions better.