我正在编写一些代码来填充角度’x-editable’类型的控件.我有一个预定义的值数组,基于我的webapi服务将传递给我的字符串标识符.它发回一个字符串.基于此字符串,我从使用以下方法预定义的数组中选择对象:
valuetoshow = myarray['stringFromWebApiCall'];
JSHINT正在抛弃它,因为它要我使用点符号.我理解为什么JSHINT告诉我这个,而且我也理解它告诉我哪些线路,而且我知道如果我将我的代码改为像“answers.undergraduate = bigarray”那样它将修复jshint.当我在下面的代码中提供了一个字符串时,我只是不知道如何使用.notation访问数组.
在javascript中是否有某种方法可以让我使用字符串以点表示法查找某些内容?我已经习惯了C#和这种准类型奇怪的变量定义,这让我很难理解.
> [‘UNDERGRADUATE’]最好用点符号书写.
> [‘GRADUATE’]最好用点符号书写.
> [‘HOnorARY’]最好用点符号书写.
> [‘DOCTORATE’]最好用点符号书写.
> [‘MASTERS’]最好用点符号书写.
> [‘UNDEFINED’]最好用点符号书写.
我应该试图压制错误吗?我应该在api结果上写一个很难看的开关声明吗?
这是真正的代码
answers['UNDERGRADUATE'] = [ { 'name': 'Find a job','ticked': false,'hideThisGroup':false,'checkBoxdisabled': false },{ 'name': 'Create a network with STTI members','hideThisGroup':true,{ 'name': 'Receive nursing guidance',{ 'name': 'Learn and grow through online continuing nursing education','checkBoxdisabled': false } ]; answers['GRADUATE'] = [ { 'name': 'Find a job',{ 'name': 'Expand your network with STTI members',{ 'name': 'Grow your portfolio',{ 'name': 'Develop advanced leadership skills',{ 'name': 'Stay current on nursing trends','checkBoxdisabled': false } ]; answers['NURSE leader'] = [ { 'name': 'Find a job','checkBoxdisabled': false } ]; answers['HOnorARY'] = [ { 'name': 'Find a job','checkBoxdisabled': false } ]; answers['DOCTORATE'] = [ { 'name': 'Find a job','checkBoxdisabled': false } ]; answers['MASTERS'] = [ { 'name': 'Find a job','checkBoxdisabled': false } ]; answers['UNDEFINED'] = [ { 'name': 'Find a job','checkBoxdisabled': false } ]; if ($rootScope.constituent != undefined){ if ($rootScope.constituent.InductedAs != undefined) { $scope.constituentPriorities = answers[$rootScope.constituent.InductedAs.toupperCase()]; } else { $scope.constituentPriorities = answers['UNDEFINED']; } }
解决方法
Is there a way to use dot notation to accomplish something like this
……是吗?
answers.UNDERGRADUATE = ...
等等
澄清一下:你需要在代码上面编写实际的数据声明,作为answers.UNDERGRADUATE. JSHint并没有抱怨这条线:
... answers[$rootScope.constituent.InductedAs.toupperCase()];
显然,该行不能使用点符号编写. JSHint抱怨的那些行是字面上写成答案[‘UNDEFINED’]或答案[‘UNDERGRADUATE’].这些是你需要解决的问题,以沉默JSHint.
原文地址:https://www.jb51.cc/js/153482.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。