Как обратится к объекту через индекс как в массиве?

185
23 января 2018, 13:48

Есть объект. Как обратится через индекс как в массиве?
Могу и понимаю как делать. В коде реализовал. Хочу и другой вариант.

var person = { 
  firstName: { 
    some: 'sdfsdfsdf15' 
  }, 
  lastName: "Doe", 
  age: 50, 
  eyeColor: "blue" 
}; 
 
console.log(person.lastName);
<input type="text" placeholder="the enter"> 
<button>Send</button>

Answer 1

В javascript есть метод keys, при помощи которого достаем индексы объекта.

obj = { "key1": "value1", "key2": "value2"}; 
    var idx0 = 0; // key1 
    var idx1 = 1; // key2 
 
    var key0 = Object.keys(obj)[idx0]; 
    var key1 = Object.keys(obj)[idx1]; 
    var value0 = obj[key0]; 
    var value1 = obj[key1]; 
 
    console.log(key0,value0); 
    console.log(key1,value1);

Answer 2

Если вам необходимо перебрать все поля объекта то можно сделать так

var obj = { 
  p1: "hi", 
  p2: "hi, there", 
  p3: "hallow, all!" 
}; 
 
for (var key in obj) { 
  var value = obj[key]; 
  console.log(`key: ${ key }, value: ${ value }`); 
}

READ ALSO
Не работает transition во Vue компоненте

Не работает transition во Vue компоненте

Имеется следующий код во Vue-компоненте:

453
Помощь с setInterval и setTimeout. &ldquo;Карусель&rdquo;

Помощь с setInterval и setTimeout. “Карусель”

При загрузке страницы, интервал стартует как надоЯ поставил кнопку для паузы интервала, но работает не так как надо

229