Создать объект из двух массивов

Реализовать функцию createObject(arrOfKeys, arrOfValues), которая принимает аргументами два массива, и возвращает объект, в котором названия ключей это строки из массива arrOfKeys, а значения - элементы из массива arrOfValues. В ключ, стоящий на первом месте массива arrOfKeys должно быть записано значение, стоящее на первом месте arrOfValues. Если данных меньше, чем ключей, заполняй значения ключей как undefined. Пример работы:

createObject(['foo'], ['bar']); // {foo: 'bar'}
createObject(['foo', 'extra'], ['bar']); // {foo: 'bar', extra: undefined}