我现在已经筋疲力尽,无法在javascript中访问最简单的数组值,
好的,我打印了console.log(dataArray)
控制台输出:
[]
account_level : "-"
address : "-"
atm_issued : "-"
avatar : "-"
branch : "-"
cnic : "-"
这就是我想要访问的内容:
console.log(dataArray['cnic'])
通过这个
console.log(dataArray.cnic)
由此
console.log(dataArray[cnic])
如果我这样做
console.log(dataArray.cnic)
打印undefined
console.log(dataArray.length, dataArray instanceof Array, dataArray instanceof Object);
以上输出:
0 true true
如何访问此属性?
答案 0 :(得分:4)
在您的情况下,由于syntax不兼容,您无法定义array
这样的内容。
我建议你使用OBJECT SYNTAX而不是这个,如以下代码段所示:
var obj={
account_level : "DATA",
address : "-",
atm_issued : "-",
avatar : "-",
branch : "-",
cnic : "-"
};
console.log(obj.account_level);
您还可以动态填充对象:
var obj={};
obj["address"] = "DATA1";
obj["atm_issued"] = "DATA2";
obj["avatar"] = "DATA3";
obj["branch"] = "DATA4";
obj["cnic"] = "DATA5";
console.log(obj.cnic);
console.log(obj);
答案 1 :(得分:2)
您使用的语法是访问对象的方式。
let object = {
account_level: "-"
address: "-"
atm_issued: "-"
avatar: "-"
branch: "-"
cnic: "-"
};
console.log(object.cnic);

要访问数组,请使用其索引。
let array = ['Chelsea', 'Liverpool', 'Arsenal'];
console.log(array[0]);

答案 2 :(得分:1)
JS数组总是将整数作为索引。如果您的密钥是文本,则表示它是一个对象。
您可以通过这些方式访问对象
var a = ["value1","value2"];
console.log(a[0]);
这是数组
@XmlRootElement(name="Data")
class Data
{
@XmlJavaTypeAdapter(MapAdapter.class)
@XmlElements({
@XmlElement(name="Protocol1",type=Protocol1.class),
@XmlElement(name="Protocol2",type=Protocol2.class),
....
})
Map<String,Protocol> protocolMap;
}
答案 3 :(得分:0)
您指定的内容类似于object
而非array
。如果object
key:value
对由,
分隔,则格式中缺少var obj = { "account_level" : "-",
"address" : "-",
"atm_issued" : "-",
"avatar" : "-",
"branch" : "-",
"cnic" : "-" };
console.log(obj.cnic);
。所以最终的格式如下:
def __rsub__(self, other):
a = self.GetSpeed()
try: # Try with assumption that we have to deal with an instance of AnotherClass
b = other.GetSpeed()
except AttributeError: # If it doesn't work let's assume we have to deal with a float
b = other
return b - a
答案 4 :(得分:0)
您的数组/对象的填充方式看起来很奇怪,请尝试按如下方式创建一个新的:
dataArray = Object.assign({}, dataArray);
console.log(console.log(dataArray.cnic));
答案 5 :(得分:0)
这是一个痛苦,但我正在使用firebase,并在填充之前访问属性。所以首先我让它们被填充然后访问它们。