获取对象内部的数组长度

Ric*_*ton 1 javascript arrays object

我有一个包含数组的JavaScript对象.我创建了一个新密钥,length它应该存储fields数组长度的值.

$(document).ready(function() {
var data = {
    "label": "Information",
    "fields": [
        {
            "name": "name",
            "label": "Team Name",
            "type": "string",
            "config": {}
        }
    ],
    "length": fields.length     // Need help with this line
};
$("button").click(function() {
    alert(data.length);
});
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/kvtywmtm/

在我的小提琴中,没有任何东西会被警告,虽然它应该警告1,因为在fields数组中有1条记录.

有任何想法吗?

编辑

我知道你可以通过创建一个新变量获得对象的长度OUTSIDE

var length = data.fields.length;
Run Code Online (Sandbox Code Playgroud)

但是,我需要长度在对象内部.

Amm*_*CSE 6

你可以使用一个吸气剂

$(document).ready(function() {
  var data = {
    "label": "Information",
    "fields": [{
      "name": "name",
      "label": "Team Name",
      "type": "string",
      "config": {}
    }],
    get length() {
      return this.fields.length
    }
  };
  $("button").click(function() {
    console.log(data.length);
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<button>Click Here</button>
Run Code Online (Sandbox Code Playgroud)