TypeError:'在'操作数obj中无效'

时间:2013-11-26 07:03:26

标签: javascript jquery

       json= new Gson().toJson(name);

其中name的类型为string。

我收到错误说" TypeError:无效' in'操作数obj"

错误出现在java脚本的给定部分

 return type === "array" || type !== "function" &&
     ( length === 0 ||
     typeof length === "number" && length > 0 && ( length - 1 ) in obj );

我也试过

   response=JSON.parse(response); 

无效。

4 个答案:

答案 0 :(得分:2)

通过链接In operator,您可以看到

  

如果指定的属性在指定的对象中,则in运算符返回true。

在您的代码( length - 1 ) in obj

尝试检查obj中数字的(length - 1)属性

我认为objstring,因此它具有length属性,但没有数字属性,所以你必须抓住这个案例

答案 1 :(得分:1)

我在括号内的obj中关闭了代码“(length - 1)。

return type === "array" || type !== "function" &&
     ( length === 0 ||
     typeof length === "number" && length > 0 && (( length - 1 ) in obj) );

这对我来说很好。

答案 2 :(得分:0)

在我的情况下,对象不是空的,但我需要在对象的键上添加双引号,例如:

obj = {params : "paramsInputPreData"}

以上将产生错误,但下面的错误是正确的:

obj = {"params" : "paramsInputPreData"}

所以对我来说,关键需要被引用为" params"

希望它有助于某人

答案 3 :(得分:0)

如果出现此错误,您需要检查变量的类型等,您可以随时执行以下操作:

if (typeof x == 'string' || typeof x == 'number') { ... }