Javascript 在对象中使用方括号

Javascript 在对象中使用方括号,javascript,brackets,Javascript,Brackets,我的代码必须是这样的: rules: { jform[name]: { required:true, minlength:5, maxlength:15 }, 我应该如何使用这些方括号?在这个网站和谷歌上有很多关于这个问题的答案,但不是特别针对这个问题 你是说JSON吗?还是JavaScript对象文本?请从您的问题中删除流行语“jQuery” 如果您想要一个带有方括号的属性名称,您可以 rules = { "jform[name]": { required:tru

我的代码必须是这样的:

rules: {
  jform[name]: {
  required:true,
  minlength:5,
  maxlength:15
},

我应该如何使用这些方括号?在这个网站和谷歌上有很多关于这个问题的答案,但不是特别针对这个问题

你是说JSON吗?还是JavaScript对象文本?请从您的问题中删除流行语“jQuery”

如果您想要一个带有方括号的属性名称,您可以

rules = {
  "jform[name]": {
    required:true,
    minlength:5,
    maxlength:15
  }
}


我猜您希望对象中的键具有
jform[name]
的值。声明对象文字时不能将变量用作键。您必须将此键添加为另一条语句

例如:

var data = {
    rules: {
    }
};
data.rules[jform[name]]= {
    required:true,
     minlength:5,
     maxlength:15
};
如果您希望密钥按字面意思为
jform[name]
,则需要在密钥周围使用引号

rules: {
    "jform[name]": {
        required:true,
        minlength:5,
        maxlength:15
    }
}
您现在可以访问这样的值

 obj[rules][jform][name]

我现在无法准确回答你的问题,因为你在问如何使用无效语法,这是不可能的,因为它是无效的

然而,我能做的是解释JSON如何在JavaScript中工作,并希望它能解决您的问题:

基础
{}
是一个对象文本
[]
是一个数组文本 可以通过
[]
符号访问属性: 可以使用文字值或字符串设置对象文字:
您的原始语法:

rules: {
  jform[name]: {
  required:true,
  minlength:5,
  maxlength:15
}
无效,因为不能在变量名中使用
[
]
字符,但是可以使用字符串作为文本值:

rules: {
  "jform[name]": {
  required:true,
  minlength:5,
  maxlength:15
}
…可通过以下方式访问:

rules["jform[name]"]
但您似乎希望通过以下方式访问数据:

rules.jform[name]
需要将其设置为:

rules: {
    jform: {}
}
...more code...
rules.jform[name] = {rules: {
    required:true,
    minlength:5,
    maxlength:15
};

你的代码不可能是这样的。这是无效的JavaScript。您实际上是如何访问该对象的?我已经删除了它周围的所有其他代码,我只需要知道如何在“name”周围使用[]。不可能吗?你试过反斜杠吗?(
\[
\[
)太简单了!这就是它的全部内容:“jform[name]”感谢大家抽出时间!
a = {
    //any character you can use for a variable name can be
    //used to instantiate an object without quotes
    b: c,
    //special characters need to be quoted
    "foo bar baz": "fizz buzz"
};
rules: {
  jform[name]: {
  required:true,
  minlength:5,
  maxlength:15
}
rules: {
  "jform[name]": {
  required:true,
  minlength:5,
  maxlength:15
}
rules["jform[name]"]
rules.jform[name]
rules: {
    jform: {}
}
...more code...
rules.jform[name] = {rules: {
    required:true,
    minlength:5,
    maxlength:15
};