Something I found to be really useful is to remove all statements inside the code, so you'll be left with large skeleton structures. Look at it from a distance, (small font), see some patterns. Can you split it up?
getting a feel for the structure of the function helps me understand it.
Ex:
function someFunction () {
if () {
for () {
if () {
} else {
}
}
if () {
for () {
}
}
}
}