Подтвердить что ты не робот

Получить значения из объекта в JavaScript

У меня есть этот объект:

var data = {"id": 1, "second": "abcd"};

Это значения из формы. Я передаю это функции для проверки.

Если указанные выше свойства существуют, мы можем получить их значения с помощью data["id"] и data["second"], но иногда, исходя из других значений, свойства могут быть разными.

Как я могу получить значения из data независимо от имен свойств?

4b9b3361

Ответ 1

Чтобы получить доступ к свойствам объекта, не зная имена этих свойств, вы можете использовать цикл for ... in:

for(key in data) {
    if(data.hasOwnProperty(key)) {
        var value = data[key];
        //do something with value;
    }
}

Ответ 2

Если вы хотите сделать это в одной строке, попробуйте:

Object.keys(a).map(function(key){return a[key]})

Ответ 3

В ES2017 вы можете использовать Object.values():

Object.values(data)

Во время написания поддержка ограничена (FireFox и Chrome). Все основные браузеры, кроме IE, поддерживают это сейчас.

В ES2015 вы можете использовать это:

Object.keys(data).map(k => data[k])

Ответ 4

Если вы $ определены, вы можете выполнять итерацию

var data={"id" : 1, "second" : "abcd"};
$.each(data, function() {
  var key = Object.keys(this)[0];
  var value = this[key];
  //do something with value;
}); 

Вы можете получить доступ к нему следующим образом. Если вы знаете значения клавиш

data.id

или

data["id"]

Ответ 5

Мне жаль, что ваш заключительный вопрос не так ясен, но вы ошибаетесь с первой строки. Переменные данные представляют собой Объект, а не Массив

Доступ к атрибутам объекта довольно прост:

alert(data.second);

Но если это не полностью ответит на ваш вопрос, пожалуйста, уточните его и отправьте обратно.

Спасибо!

Ответ 6

Использование lodash _.values(object)

_.values({"id": 1, "second": "abcd"})

[ 1, 'abcd' ]

lodash включает в себя целую кучу других функций для работы с массивами, объектами, коллекциями, строками и т.д., которые вы пожелаете были встроены в JavaScript (и на самом деле, похоже, медленно пробиваются на язык).

Ответ 7

использовать

console.log(переменная)

и если вы используете консоль google chrome open с помощью Ctrl + Shift + j

Перейти к → Консоль