Как сделать задержку в цикле for in в jQuery?
Так? Поменял ваш пример
Можно обернуть всю работу в асинхронную функцию, тогда вам будет доступна удобная работа с асинхронностью. // Где-то выше
const delay = (ms) => new Promise((resolve) => {
	setTimeout(resolve, ms);
});

// Это уже в асинхронной функции
/*
   Можно вызвать в любом месте в асинхронной функции, тогда код, условно, 
   остановится там на 1000 миллисекунд и продолжится, когда Promise из delay зарезолвится
*/
await delay(1000);
Вот именно ваш случай:const delay = (ms) => new Promise((resolve) => {
	setTimeout(resolve, ms);
});

(async () => {
  for (var key in contact) {
    var obj = contact[key];
    for (var prop in obj) {
      $('[name="'+prop+'"]').val(obj[prop]);
      console.log(key + " " + obj[prop]);
    }  			
    await delay(1000);
  }
})()
Я бы сделал такvar keys = contact.keys(),
	i = 0;
function nextKey(){
	for (var prop in contact[keys[i]]) {
        $('[name="'+prop+'"]').val(obj[prop]);
        console.log(key + " " + obj[prop]);
    }
    if (++i < keys.length) setTimeout(nextKey, 60000);
}
nextkey();