Вернуть типы данных в объекте
Пытаюсь врубиться в объекты джаваскрипта. Помогите, пожалуйста, разобраться с задачей. Два дня голову ломаю. Необходимо вернуть тип данных, которые получает функция из объекта robot. Данный код возвращает те же данные, что и получает. Например:
const robot = {
version: 16,
name: 'Cleaner 3000',
coords: [345, 12],
};
function getRobotSchema(robot) {
let result = Object.entries(robot);
for (let i = 0; i <= result; i++) {
result[i][1] = typeof result[i][1];
}
console.log(result);
}
// Должно получиться
// result = {
// version: 'number',
// name: 'string',
// coords: 'object',
// };
// А получается то же, что и на входе
getRobotSchema(robot);
Что я забыла сделать? Почему на typeof ноль реакции?
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
В данном месте
i <= result
число сравнивается с массивом, а должно было сравниваться с его длинной.
Из-за этого в цикл ни разу не заходит и объект result не меняется.
Так же стоит обратить внимание на то, что условие должно быть строгим, иначе будет выход за границы массива, так как индексация массивов начинается с 0
const robot = {
version: 16,
name: 'Cleaner 3000',
coords: [345, 12],
};
function getRobotSchema(robot) {
let result = Object.entries(robot);
for (let i = 0; i < result.length; i++) {
result[i][1] = typeof result[i][1];
}
console.log(result);
}
// Должно получиться
// result = {
// version: 'number',
// name: 'string',
// coords: 'object',
// };
// А получается то же, что и на входе
getRobotSchema(robot);