Получить все свойства объекта кроме методов
Сейчас получаю только значения объекта в массиве.
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, время: 13:44. |