Получить все свойства объекта кроме методов
Сейчас получаю только значения объекта в массиве.
const user = { name: 'Alex', age: 32, offer() { console.log(`${this.name} have invited`); }, }; function getProperties(obj) { let arr = []; for (let prop in obj) { if (typeof obj[prop] !== 'function') { arr.push(obj[prop]); } } return arr; } console.log(getProperties(user)); Как сделать чтобы получить массив свойств объекта кроме методов, такого вида: [ name: 'Alex', age: 32 ] или правильнее наверное будет такого вида: [ 'name: Alex', 'age: 32' ] |
NovichokJS,
const user = { name: 'Alex', age: 32, offer() { console.log(`${this.name} have invited`); }, }; function getProperties(obj) { return Object.keys(obj).filter(prop => typeof obj[prop] !== 'function'); } console.log(getProperties(user)); |
Цитата:
arr.push(prop); |
так это мы только ключи получаем. Свойства объекта - это ж ключи со значениями?
|
NovichokJS,
:-? что хотите получить, если всё не устраивает, можно пример? |
Цитата:
|
Цитата:
arr.push(`${prop}:${obj[prop]}`); |
спасибо, понял!
|
NovichokJS,
:) const user = { name: 'Alex', age: 32, offer() { console.log(`${this.name} have invited`); }, }; function getProperties(obj) { return Object.entries(obj).filter(([_, value]) => typeof value !== 'function').map(a => a.join(': ')); } console.log(getProperties(user)); |
Часовой пояс GMT +3, время: 23:14. |