我有一个对象数组,我正在尝试获取它的值,尽管里面的变量没有预定义。问题是我不知道该怎么做。
数组:
Array[3]: [
{
id: "1",
name: "name1",
lastname: "lastname1"
},
{
id: "2",
name: "name2",
lastname: "lastname2"
},
{
id: "3",
name: "name3",
lastname: "lastname3"
}
]
Javascript:
this.myFunction = function(response) {
var iLength = response.data.length;
for(var i=0;i<iLength;i++) {
var jLength = Object.keys(response.data[i]).length;
for(var j=0;j<jLength;j++) {
// ???
}
}
}
因此,不要以这种方式访问值,
response.data[i].id
response.data[i].name
response.data[i].lastname
我宁愿以这种方式访问它:
response.data[i]."somethingSomething[j]";
这可能吗?我对 AngularJS 相当陌生,所以我可能没有以正确的方式处理这个问题。任何帮助将不胜感激。
编辑:我已经更好地阐述了我的问题。
最佳答案
您可以迭代键。
for (var i = 0; i < iLength; i++) {
var keys = Object.keys(response.data[i]);
for (var j = 0; j < keys.length; j++) {
console.log(response.data[i][keys[j]]);
}
}
但是如果您提前知道键,则可以使用带有键的数组并在迭代时保持稳定的顺序。
var keys = ['id', 'name', 'lastname'];
for (var i = 0; i < iLength; i++) {
for (var j = 0; j < keys.length; j++) {
console.log(response.data[i][keys[j]]);
}
}
关于JavaScript - 获取非预定义键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41161330/