Как зацикливать объекты с массивами в качестве свойств

1

Это мой код: я хочу получить первое значение массивов в каждом свойстве, но оно не работает. Спасибо за помощь.

var arena = {
 o1: ['gate',1,1],
 o2: ['block',1,1]
};

$(document).ready(function(){
    var canvas = document.getElementById('canvas.arena');
    var xpercent = canvas.width/100;
    var ypercent = canvas.height/100;

    for (var key in arena) {
        if (arena.hasOwnProperty(key)) {
        console.log(key + " -> " + arena[key[0]]);
        }
    }
});
  • 1
    Попробуйте arena[key][0] ...
Теги:
object
arrays

2 ответа

2

Почти:

for (var key in arena) {
  console.log(key + " -> " + arena[key][0]);
}

ключ всегда будет свойством, нет необходимости проверять.

  • 0
    Убедитесь, что вам нужно проверить, некоторые фреймворки могут расширить прототип объекта, и он также будет включен в качестве ключа
  • 0
    любой пример этого?
Показать ещё 4 комментария
0

вы очень близки:

var arena = {
 o1: ['gate',1,1],
 o2: ['block',1,1]
};

$(document).ready(function(){
    for (var key in arena) {
      console.log(key + " -> " + arena[key][0]);
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

подготовил эту скрипку:

https://jsfiddle.net/njvf58ow/1/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню