我想从javascript对象打印一个键:值对.我可以在我的数组中使用不同的键,因此无法将其硬编码到object [0] .key1
var filters = [{"user":"abc"},{"application":"xyz"}];
console.log(Object.keys(filters[0])[0]); // prints user
var term = (Object.keys(filters[0])[0]);
console.log(filters[0].term); // prints undefined
Run Code Online (Sandbox Code Playgroud)
如何打印密钥的值
Juz*_*Ali 21
for (key in filters[0]){
console.log( key + ": " + filters[0][key]);
}
Run Code Online (Sandbox Code Playgroud)
或者,如果要打印过滤器的所有值
for (i in filters){
console.log(i);
for (key in filters[i]){
console.log( key + ": " + filters[i][key]);
}
}
Run Code Online (Sandbox Code Playgroud)
filters.forEach(function(obj, index){
console.log(index);
for (var key in obj){
console.log(key, obj[key]);
}
});
Run Code Online (Sandbox Code Playgroud)
这是寻找一个term属性filters[0]:
console.log(filters[0].term);
Run Code Online (Sandbox Code Playgroud)
你真正想要做的是使用值的term(在你的例子,这将是"user")作为属性标识符:
console.log(filters[0][term]);
Run Code Online (Sandbox Code Playgroud)
for 数组的 for 循环和对象的 for..in 迭代:
var filters = [{ "user": "abc"}, {"application": "xyz"}];
for (var i = 0; i < filters.length; i++) { // the plainest of array loops
var obj = filters[i];
// for..in object iteration will set the key for each pair
// and the value is in obj[key]
for (var key in obj) {
console.log(key, obj[key])
}
}Run Code Online (Sandbox Code Playgroud)
ES6
[{ "user": "abc"}, {"application": "xyz"}].forEach(
obj => console.log(Object.entries(obj).flat())
)Run Code Online (Sandbox Code Playgroud)