You need to look at why you're buying things. Is it a compulsion? Do you get some emotional benefit from spending the money? It may be an addiction. You seem to understand the ramifications. Are you honestly unable to stop?
I agree: you can't afford to buy a car right now, especially if it involves car payments, and likely higher insurance. I'd see what you can do to fix your current car.
If you really didn't need that laptop and your old one still works fine, you should return it if you can and get a refund. You'll probably have to pay a restocking fee. Fine. Right now you can't afford a $1K computer.
Look at where you can save money. If you're living alone that sounds like an unnecessary luxury right now. If you're on a lease, as it's near expiring you should look to rent a room from someone or move into sharing an apartment with a few people to bring it down to a fraction of what you're paying now. Do you have cable? Is that a necessity? If you have movie channels, lose them. Again, they're a luxury right now.
How many credit cards do you have? Someone your age shouldn't have more than one, MAYBE two. You should carry around a debit card for your groceries and other necessities. Since you can't be trusted with a credit card, keep it at home and use only when absolutely necessary.
But you really need to keep track of all your expenses for the next three months. And put them in categorize them by needs (rent, food, car insurance, utilities) and everything else. For the needs, do you spend a lot of extra money at the grocery store buying crap? Do you pay more in utilities because you have too many things plugged in, lights on, etc.? Again, with cable, do you really need cable? Can you go to something cheaper?
22K is NOT a lot of money. It goes fast. You need to be more disciplined. You seem to recognize that. It's time to grow up and become responsible. It's not fun, but things don't get any easier. Be thankful you have a job right now. Many don't. But, if you're spending is truly something you can't control, then it's time to see a therapist because you have a problem and you need help.