我在java-script
中有一个如下所示的数组Result = [
{"ID":1,"Type":"Pyramid","Phase":"One"},
{"ID":2,"Type":"Pyramid","Phase":"Two"}
]
我尝试访问各个值,并且能够通过以下代码
alert(Result[0].ID) or alert(Result[0].Phase)
有没有办法按索引访问?像Result [0] [1],我试过但是得到[对象] [对象] 我还需要访问列数
请帮帮我
答案 0 :(得分:1)
你有对象数组,通过使用for循环,你可以轻松访问所有元素值。
尝试以下
function getValue() {
var keys ;
var Result = [{"ID":1,"Type":"Pyramid","Phase":"One"}, {"ID":2,"Type":"Pyramid","Phase":"Two"}]
for(var i=0; i<Result.length;i++){
keys = [];
for(var k in Result[i]){
keys.push(k);
}
for(var k=0;k<keys.length;k++){
console.log(keys[k]+"="+ Result[i][keys[k]]);
}
console.log("key count =" +keys.length);
}
}
<强> CHECK THIS 强>
答案 1 :(得分:0)
您的结果是一个对象数组,然后您必须先获取一个对象,然后获取对象的属性。这不是一个多维数组。
答案 2 :(得分:0)
来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
alert(Result[0][Object.keys(Result[0])[0]]);
Result[0]
获得第一行Object.keys(Result[0])
获取第一行中的键Object.keys(Result[0])[0]
获取第一个列名称。 Object.keys(Result[0]).length
是第一行中的列数。
此外,对象不会像数组那样基于线性整数索引编制索引,因此将有序数字分配给无序的键列表是不对的。
二维数组看起来像这样:
Result = [
[1,"Pyramid","One"],
{2,"Pyramid","Two"}
]
在这种情况下,您可以像这样处理每个字段:Result[row][col]
因此Result[0][2]
会产生One
。
要访问对象数组中的字段,请使用您提供的语法。另外,为什么要根据id访问对象中的字段?或者为什么不使用数组数组?
答案 3 :(得分:0)
您的数组有一个对象,我们必须将该对象转换为数组。因此,将整个var Result转换为newResult,您可以通过索引号
访问newResult及其组件 Result = [
{"ID":1,"Type":"Pyramid","Phase":"One"},
{"ID":2,"Type":"Pyramid","Phase":"Two"}
];
var newResult = [];
for (var i = 0; i < Result.length; i++) {
newResult[i] = [];
for (var x in Result[i]) {
if (Result[i].hasOwnProperty(x)) {
newResult[i].push(Result[i][x]);
}
};
};
console.log(newResult);
使用newResult而不是Result
您可以通过newResult [0] [0]
获取ID