У меня была одна и та же проблема, и после тщательного изучения всех кодировок и выяснения, что с ними все в порядке, я понял, что искаженное свойство, которое у меня было в моем классе, было аннотировано как @Column вместо @JoinColumn (javax.presistence; спящий режим), и он все ломал.
Можно использовать for-in
цикл как показано другими. Однако также необходимо удостовериться, что ключ, который Вы получаете, является фактическим свойством объекта и не прибывает из прототипа.
Вот отрывок:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};
for (var key in p) {
if (p.hasOwnProperty(key)) {
console.log(key + " -> " + p[key]);
}
}
Для - с Object.keys () альтернатива:
var p = {
0: "value1",
"b": "value2",
key: "value3"
};
for (var key of Object.keys(p)) {
console.log(key + " -> " + p[key])
}
Заметьте использование for-of
вместо for-in
, если не используемый это возвратится неопределенный на именованных свойствах, и Object.keys () гарантирует использование только собственных свойств объекта без целых цепочечных прототипом свойств
Можно также использовать Object.keys () и выполнить итерации по объектным ключам как ниже для получения значения:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};
Object.keys(p).forEach((key)=> {
console.log(key +' -> '+ p[key]);
});
for(key in p) {
alert( p[key] );
}
Примечание: можно сделать это по массивам, но Вы выполните итерации по length
и другие свойства, также.
Можно просто выполнить итерации по нему как:
for (var key in p) {
alert(p[key]);
}
Отметьте это key
не возьмет значение свойства, это - просто индексное значение.
Необходимо использовать для - в цикле
Но будьте очень осторожны при использовании этого вида цикла, потому что это циклично выполнит все свойства вдоль опытной цепочки.
Поэтому при использовании для - в циклах, всегда используйте hasOwnProperty
метод, чтобы определить, является ли текущее свойство в повторении действительно свойством объекта, Вы начинаете работу:
for (var prop in p) {
if (!p.hasOwnProperty(prop)) {
//The current property is not a direct property of p
continue;
}
//Do your logic with the property here
}
Используя for-of
по телефону Object.keys()
Как:
let object = {
"key1": "value1"
"key2": "value2"
"key3": "value3"
};
for (var key of Object.keys(p)) {
console.log(key + " : " + object[key])
}