Как мне пройти через свойства объекта минус последнюю пару значений в JavaScript? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь перебрать объекты в javascript node.js.У меня есть объект ниже:

var obj = {
  a: "foo",
  b: "bar",
  c: "foobar",
  d: "something1",
  e: "something2",
  f: "something3"
};    

Я хочу перебрать все ключи, кроме последней пары значений f: «что-то 3» с JavaScript.

Я пытался что-то подобное, но сделалне работает

 const keys = Object.keys(this.obj)
    for (const key of keys.length-1) {
      console.log(key)
    }

Я получил следующее сообщение об ошибке The error just says (keys.length-1) is not iterable

1 Ответ

0 голосов
/ 13 февраля 2019

Итак, как сказал charlietfl, причина в том, что for(const key of keys.length - 1) похоже на написание for(const key of 5), но не так, как работают циклы for of.

Я бы предложил сделать следующее:

var obj = {
    a: "foo",
    b: "bar",
    c: "foobar",
    d: "something1",
    e: "something2",
    f: "something3"
}; 

const keys = Object.keys(obj)
for (var i = 0; i < keys.length - 1; i++) {
    console.log(obj[keys[i]])
}

Итак, что мы делаем здесь, мы делаем обычное for (var i = 0; i < length - 1; i++)

Здесь наша длина keys.length - 1, что составляет 5, поэтому мы пропустим последний, как вы хотите.

Затем запишите значение ключей obj console.log(obj[keys[i]).

Надеюсь, это полезно, я также сделал фрагмент, чтобы вы могли увидеть его в действии.

var obj = {
  a: "foo",
  b: "bar",
  c: "foobar",
  d: "something1",
  e: "something2",
  f: "something3"
}; 

const keys = Object.keys(obj)
for (var i = 0; i < keys.length - 1; i++) {
   console.log(obj[keys[i]])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...