Как получить ценность от объекта? - PullRequest
4 голосов
/ 25 мая 2011

Я написал объект, он имеет 4 ключа и значения.Как я могу получить ключи и значения отдельно, используя цикл for?

Я попробовал приведенный ниже код, но не повезло.Я использую jQuery на этой странице, так что решение jQuery тоже подойдет.

Ответы [ 4 ]

2 голосов
/ 25 мая 2011

В jQuery вы можете выполнить цикл с помощью $.each.

$.each(timeObject, function(key, value) {

});

Однако ваш цикл не за горами:

for (var x in timeObject) {
    alert('key: ' + x + ' value=' + timeObject[x]);
}

Inэтот цикл for..in, x - это имя ключа.Затем вы можете получить к нему доступ к объекту timeObject, используя стандартный оператор-член.См. документацию MDC для for..in.

1 голос
/ 25 мая 2011

Я думаю, что вы должны сделать что-то вроде этого:

var timeObject = {
    getNewYorkLocalTime: 'getTime.php?lat=40.7143528&lan=-74.0059731',
    getLondonLocalTime: 'getTime.php?lat=51.5001524&lan=-0.1262362',
    getChennaiLocalTime: 'getTime.php?lat=13.060422&lan=80.249583',
    getBangaloreLocalTime: 'getTime.php?lat=12.9715987&lan=77.5945627'
}

for (var x in timeObject) {
    //use this check to avoid messing up with prototype properties
    if (timeObject.hasOwnProperty(x)) {
        alert(timeObject[x]);
    }
}
0 голосов
/ 24 января 2014

Если все еще актуально - Object.keys () может помочь Демо: http://jsfiddle.net/SK4Eu/

var timeObject = {
    getNewYorkLocalTime: 'getTime.php?lat=40.7143528&lan=-74.0059731',
    getLondonLocalTime: 'getTime.php?lat=51.5001524&lan=-0.1262362',
    getChennaiLocalTime: 'getTime.php?lat=13.060422&lan=80.249583',
    getBangaloreLocalTime: 'getTime.php?lat=12.9715987&lan=77.5945627'
}

var keys = Object.keys(timeObject),
    keysLength = keys.length;

for (var i = 0; i < keysLength; i++) {
    alert(timeObject[keys[i]]);
}
0 голосов
/ 25 мая 2011

Ты почти понял. Вам не нужны дополнительные value в конце.

Рабочий код

var timeObject = {
    getNewYorkLocalTime: 'getTime.php?lat=40.7143528&lan=-74.0059731',
    getLondonLocalTime: 'getTime.php?lat=51.5001524&lan=-0.1262362',
    getChennaiLocalTime: 'getTime.php?lat=13.060422&lan=80.249583',
    getBangaloreLocalTime: 'getTime.php?lat=12.9715987&lan=77.5945627'
}

for (var x in timeObject) {
    console.log(timeObject[x]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...