You have a scanner? You need to watch the Throttle Position Sensor, and the Idle Air Control Valve. With the engine off, key on the T.P.S. should read around .3 to .5 @ idle & up to around 4.8 at W.O.T… Numbers should move smoothly from idle to W.O.T. with #'s slowly climbing, not stopping at any one #, than jumping up skipping a bunch of #'s as you slowly push the gas pedal down. The I.A.C. should drop as the engine idle drops. If you blip the throttle (engine running) it should jump up, & as the #'s drop, the idle should follow. If the idle starts dropping too low and you watch the I.A.C. try to raise the idle by raising the numbers, it may be a bad I.A.C…
If you don’t have a scanner you can check the T.P.S. with a volt meter. It’s also a good idea to pull the I.A.C. valve and inspect the pintle. Clean it , the housing it sits in and the throttle body itself with air intake cleaner. I don’t think using carb cleaner is recommended. Being very carefull, lightly try to push the pintle in just a small amount. It should move some. Don’t go ruining it by pushing or pulling it in or out more than a few mm’s. If it is frozen in one position, there is a good chance that is the problem. There are a bunch of other things that could cause this but these are a couple quick & common problems. All this assuming the car runs good off idle, no engine miss, noises, etc. Good luck, hope it helps.