Как сделать чтобы функция возвращала тип values с ключами обьекта ? (снизу начало моего кода в тупике)

нужно сделать функцию, которая принимает обьект и возвращает его схему, обьект с теми же ключами, а в качестве значений должны быть используемые типы данных

const robots = {
  version: 16,
  name: 'Cleaner 3000',
  released: true,
  creator: { name: 'Vlad' },
};


function getRobotSchema(robot) {

    let result = new Object();

    const y = Object.values(robot);
    const x = Object.keys(robot);

    for (let i = 0; i < x.length; i++) {
        result[x[i]] = 0;
    };

    for (let i = 0; i < y.length; i++) {
        result.values = typeof(y[i]);
    };

    return result; 
};



console.log(getRobotSchema(robots));

Ответы (3 шт):

Автор решения: Darth KYL

думаю можно сделать чтото в этом роде

const robots = {
  version: 16,
  name: 'Cleaner 3000',
  released: true,
  creator: { name: 'Vlad' },
};


function getRobotSchema(robot) {
    let result = {}

    for (let key in robot ){
        result[ key ] = typeof( robot[ key ] );
    }

    return result; 
};



console.log(getRobotSchema(robots));

→ Ссылка
Автор решения: Aziz Umarov

Можно так получить

const robots = {
  version: 16,
  name: 'Cleaner 3000',
  released: true,
  creator: { name: 'Vlad' },
};


function getRobotSchema(robot) {
    return Object.keys(robot).reduce((result, key)=>(result[key]=typeof(robot[key]), result), {}); 
};



console.log(getRobotSchema(robots));

→ Ссылка
Автор решения: Touch me

Ещё можно вот так:

const robots = [
  { version: 15, name: 'Cleaner 2000', released: true, creator: { name: 'Ivan' } },
  { version: 16, name: 'Cleaner 3000', released: true, creator: { name: 'Vlad' } },
];

const getRobotSchema = robot =>
  Object.fromEntries(
    Object.entries(robot).map(([name, value]) => {
      // or you can  use return [name, value.constructor];
      if (typeof value !== 'object') return [name, typeof value];
      return [name, Array.isArray(value) ? value.map(getRobotSchema) : getRobotSchema(value)];
    })
  );

console.log(getRobotSchema(robots[0]));
console.log(getRobotSchema(robots[1]));
→ Ссылка