【问题标题】:JSON array .length property not workingJSON数组.length属性不起作用
【发布时间】:2015-09-02 16:43:45
【问题描述】:

我有以下 JSON 数组:

[  
   {  
      "orderStatus":"S",
      "x_ExtnIsModifiable":"N",
      "grandTotal":"24",
      "orderId":"",
      "grandTotalCurrency":"USD",
      "placedDate":"2015-05-11T17:56:27.406Z",
      "x_ExtnIsModifiableUntil":"2012-07-24 23:59:00.0",
      "externalOrderID":"29001e"
   },
   {  
      "orderStatus":"S",
      "x_ExtnIsModifiable":"N",
      "grandTotal":"23",
      "orderId":"",
      "grandTotalCurrency":"USD",
      "placedDate":"2015-04-11T17:56:27.406Z",
      "x_ExtnIsModifiableUntil":"2012-07-24 23:59:00.0",
      "externalOrderID":"29001d"
   },
   {  
      "orderStatus":"S",
      "x_ExtnIsModifiable":"N",
      "grandTotal":"22",
      "orderId":"",
      "grandTotalCurrency":"USD",
      "placedDate":"2015-03-11T17:56:27.406Z",
      "x_ExtnIsModifiableUntil":"2012-07-24 23:59:00.0",
      "externalOrderID":"29001c"
   }
]

这个数组被命名为“OrderStatusArray”。我试图在不对其进行硬编码的情况下获取数组的长度(出于显而易见的原因),但我不知道该怎么做。我在 SO 上看到过十几篇帖子说我应该能够通过 OrderStatusArray.length 来获取数组的长度,但这对我不起作用。

如何获得这个数组的长度?

【问题讨论】:

  • 你的代码在哪里? “但这对我不起作用”是什么意思?有没有发现任何错误?
  • 正如大家所说,用.length:jsfiddle.net/203w81Lk
  • 为我工作。也许您正在使用一些古老的浏览器?
  • ${ allOrdersInThisCategory } 是一种什么样的 JavaScript 语法?你在哪里使用它?
  • 但是 Websphere 商务是 Java,不是吗?在您向我们展示的这段代码中,没有使用.length。请参阅How to create a Minimal, Complete, and Verifiable example

标签: javascript arrays json


【解决方案1】:

看到这个小提琴:https://jsfiddle.net/x983vvr6/2/

基本上,假设您已经正确设置了您只需要调用的对象

OrderStatusArray.length

它会显示数组的长度。

您期望的长度是多少? 3是正确答案和这个小提琴显示的答案。

完整代码:

var OrderStatusArray = [{
"orderStatus": "S",
    "x_ExtnIsModifiable": "N",
    "grandTotal": "24",
    "orderId": "",
    "grandTotalCurrency": "USD",
    "placedDate": "2015-05-11T17:56:27.406Z",
    "x_ExtnIsModifiableUntil": "2012-07-24 23:59:00.0",
    "externalOrderID": "29001e"
  }, {
"orderStatus": "S",
    "x_ExtnIsModifiable": "N",
    "grandTotal": "23",
    "orderId": "",
    "grandTotalCurrency": "USD",
    "placedDate": "2015-04-11T17:56:27.406Z",
    "x_ExtnIsModifiableUntil": "2012-07-24 23:59:00.0",
    "externalOrderID": "29001d"
   }, {
"orderStatus": "S",
    "x_ExtnIsModifiable": "N",
    "grandTotal": "22",
    "orderId": "",
    "grandTotalCurrency": "USD",
    "placedDate": "2015-03-11T17:56:27.406Z",
    "x_ExtnIsModifiableUntil": "2012-07-24 23:59:00.0",
    "externalOrderID": "29001c"
     }];


console.log("Your order length array is: " + OrderStatusArray.length);

【讨论】:

    【解决方案2】:
    var data = [  
       {  
          "orderStatus":"S",
          "x_ExtnIsModifiable":"N",
          "grandTotal":"24",
          "orderId":"",
          "grandTotalCurrency":"USD",
          "placedDate":"2015-05-11T17:56:27.406Z",
          "x_ExtnIsModifiableUntil":"2012-07-24 23:59:00.0",
          "externalOrderID":"29001e"
       },
       {  
          "orderStatus":"S",
          "x_ExtnIsModifiable":"N",
          "grandTotal":"23",
          "orderId":"",
          "grandTotalCurrency":"USD",
          "placedDate":"2015-04-11T17:56:27.406Z",
          "x_ExtnIsModifiableUntil":"2012-07-24 23:59:00.0",
          "externalOrderID":"29001d"
       },
       {  
          "orderStatus":"S",
          "x_ExtnIsModifiable":"N",
          "grandTotal":"22",
          "orderId":"",
          "grandTotalCurrency":"USD",
          "placedDate":"2015-03-11T17:56:27.406Z",
          "x_ExtnIsModifiableUntil":"2012-07-24 23:59:00.0",
          "externalOrderID":"29001c"
       }
    ];
    console.log( data.length );
    

    你想要这个吗?

    【讨论】:

      猜你喜欢
      • 2016-02-06
      • 1970-01-01
      • 2021-04-25
      • 2017-09-12
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      相关资源
      最近更新 更多