我正在尝试从数组对象访问数据:
{
"results": [{
"ID": "aaa",
"12/06/2017": "1",
"13/06/2017": "0",
"14/06/2017": "1",
"15/06/2017": "1",
"16/06/2017": "0",
"17/06/2017": "1",
"18/06/2017": "0"
}
]
}
我通常是这样做的:
$.each(data.results, function (index, item) {
var eachrow = "<tr>"
+ "<td>" + item.ID + "</td>"
ect...
$('#tbody').append(eachrow);
}
但是在这种情况下,属性名称会随着每次搜索而改变,所以我不能只写它们。我知道在搜索之前它们会是什么值所以我可以将它们分配给变量但是item.variable不起作用。 我试过了:item。[variable]和item.arr [1]但我无法得到任何工作。
感谢您的帮助
答案 0 :(得分:0)
假设这是你的result
const result = {
"results":[
{
"ID":"aaa",
"12/06/2017":"1",
"13/06/2017":"0",
"14/06/2017":"1",
"15/06/2017":"1",
"16/06/2017":"0",
"17/06/2017":"1",
"18/06/2017":"0"
}
]
};
然后你可以做什么来获得所有的键值对
const firstResult = result.results[0];
Object.keys(firstResult)
.map(key => {
const value = firstResult[key];
return { key, value };
})
.forEach(process);
process
函数是这样的:
const process = ({ key, value }) => {
console.log(`The value of ${key} is ${value}`);
};