在javascript中访问Simple Array值

时间:2017-09-26 14:38:06

标签: javascript jquery

我现在已经筋疲力尽,无法在javascript中访问最简单的数组值, 好的,我打印了console.log(dataArray)

控制台输出:

[]
    account_level : "-"
    address : "-"
    atm_issued : "-"
    avatar : "-"
    branch : "-"
    cnic : "-"

enter image description here

这就是我想要访问的内容:

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

如何访问此属性?

6 个答案:

答案 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,并在填充之前访问属性。所以首先我让它们被填充然后访问它们。