pętla for...in - zwraca tablice

0

Mam daną zmienną apartment z wartościami, musi ona zwrócić tablicę: keys =["descr", "rating", "price"] oraz value= ["Space", 7, 1999]
Próbuję zrobić jak poniżej, ale coś mi nie wychodzi

 const apartment = {
  descr: "Space",
  rating: 7,
   price: 1999,
};
const keys = [];
 const values = [];

 for ( const x in apartment) {
  keys = x;
  values = apartment[x];
 }
4

Zabrakło push() przy dodawaniu nowego elementu

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push

const apartment = {
  descr: "Space",
  rating: 7,
  price: 1999,
};
const keys = [];
const values = [];

for (const x in apartment) {
  keys.push(x);
  values.push(apartment[x]);
}
1

@89hunter92: @Xarviel podał dobrą odpowiedź, jednak można ją nieco usprawnić. Jeśli twoja pętla służy tylko do tego, co pokazałeś, można ją zastąpić Object.keys() oraz Object.values().

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values

Robi prawie to samo, ale ma krótszy zapis.

const apartment = {
  descr: "Space",
  rating: 7,
  price: 1999,
};

const keys = Object.keys(apartment);
const values = Object.values(apartment);

1 użytkowników online, w tym zalogowanych: 0, gości: 1