Javascript对象中的元素未定义
要构造这样的对象,请执行以下操作:Javascript对象中的元素未定义,javascript,json,Javascript,Json,要构造这样的对象,请执行以下操作: params (Object) (defaults to: {}) — Delete — required — (map) Objects — required — (Array<map>) Key — required — (String) Key name of the object to delete. TypeError:无法设置未定义的属性“Key” 我做错了什么 原来在对象的内部只有一
params (Object) (defaults to: {}) —
Delete — required — (map)
Objects — required — (Array<map>)
Key — required — (String) Key name of the object to delete.
TypeError:无法设置未定义的属性“Key”
我做错了什么
原来在
对象的内部只有一个键
。我想在对象
内部放置任意数量的键,以便正确构造对象。如何执行此操作?数组中有多少对象文字?从您的初始化来看,它只看起来像1。但您使用的是for循环,这意味着您期望的不止一个
该错误意味着无论发生时达到的i
值是多少,Objects[i]
都未定义
看起来你需要做点什么
for(i=0;i<data.keys.length;i++){
params.Delete[0].Objects.push({Key: data.keys[i]})
}
for(i=0;iYourparams.Delete[0]。这里的Objects
中只有一个对象,当i
为1时会发生这种情况。您正在根据另一个具有2个不同长度的循环计算for循环
data.keys
不同于:
params.Delete[0].Objects
这一行只有一个对象,而第一行有多个对象。因为对象[1]未定义…即使赋值的右侧值错误,也会出现相同的错误。Javascript未能完成整行并抱怨左侧值。我认为该语句必须是params.Delete[0]。对象[I].Key=data[i]
。因为您正在循环使用我们不知道的数据.keys.length
,所以我们无法判断循环迭代的次数。我希望键的数量与数据.keys
中的数量相同。我认为对象的数组将是动态的“Objects数组中有多少个具有Key属性的对象文本?”或者实际上,没有Key
属性…@Houseman:是的,但是当i
是1
时,对象[i]
是未定义的对象。您试图将其视为对象。您可能的意思是.Objects[i]={Key:data.keys[i]};
data.keys
params.Delete[0].Objects