Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2022, 17:23
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Получить все свойства объекта кроме методов
Сейчас получаю только значения объекта в массиве.
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, 03.07.2022 в 17:54.
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2022, 18:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

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));
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2022, 18:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от NovichokJS
Получить все свойства объекта кроме методов
Сейчас получаю только значения объекта в массиве.
arr.push(obj[prop]);
arr.push(prop);
Ответить с цитированием
  #4 (permalink)  
Старый 03.07.2022, 18:27
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

так это мы только ключи получаем. Свойства объекта - это ж ключи со значениями?
Ответить с цитированием
  #5 (permalink)  
Старый 03.07.2022, 18:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

NovichokJS,
что хотите получить, если всё не устраивает, можно пример?
Ответить с цитированием
  #6 (permalink)  
Старый 03.07.2022, 18:35
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Сообщение от рони Посмотреть сообщение
NovichokJS,
что хотите получить, если всё не устраивает, можно пример?
это [ 'name: Alex', 'age: 32' ]
Ответить с цитированием
  #7 (permalink)  
Старый 03.07.2022, 18:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от NovichokJS
это [ 'name: Alex', 'age: 32' ]
arr.push(`${prop}:${obj[prop]}`);
Ответить с цитированием
  #8 (permalink)  
Старый 03.07.2022, 18:44
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

спасибо, понял!
Ответить с цитированием
  #9 (permalink)  
Старый 03.07.2022, 18:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

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));
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить свойсвто объекта? Armen Общие вопросы Javascript 4 19.10.2014 06:45
В ie не удалось получить значение свойства "keyCode" solomon2 Events/DOM/Window 3 10.03.2012 14:17
Получить все инпуты по заданоой маске nws Общие вопросы Javascript 2 09.09.2009 01:46
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00