If you want the property to jump in value every X number of frames all you have to do is divide the frame number of frames by the number of frames you want between moves, round the result, then multiply the property value you want to move by the change in value. Let's say that every 10 frames you wanted the Y position of a text layer to move up in y by 40 pixels. Let's start with the math, then build a value + array that lets you set the start position anywhere you want.
// set freqency and distance
countFrames = time/thisComp.frameDuration;
freq = countFrames / 10;
jump = Math.round(freq);
newY = jump * 40;
// Create Array
[value[0], value[1] - newY]]
This could also be used to set the jump time to decimal parts of a second instead of frames.
If the timing needed to be seconds, no matter what the frame rate is you would use Time instead of Time/Frame Duration. Let's say you wanted to have a second hand that snaps from one number to the next every second. The math is really simple there too. A clock face has 60 seconds in 360º so each second the second hand must jump 6º. The expression would use the same math round operator but you would not need to create an array. It would look like this:
// Universal Second Hand
value + Math.round(time) * 6