相关疑难解决方法(0)

为什么'for(列表中的var项)'与数组在JavaScript中被认为是不好的做法?

给出一个简单的基于零的数字索引数组:

var list = ['Foo', 'Bar', 'Baz'];
Run Code Online (Sandbox Code Playgroud)

很多时候,我注意到有人建议循环遍历数组中的变量,如下所示:

for(var item in list) { ... }
Run Code Online (Sandbox Code Playgroud)

......几乎可以肯定有人认为这是不好的做法,并提出了另一种方法:

var count = list.length;

for(var i = 0; i < count; i++) {
    var item = list[i];
    ...
}
Run Code Online (Sandbox Code Playgroud)

不使用上面更简单的版本并使用第二个例子的原因是什么?

javascript arrays loops

73
推荐指数
2
解决办法
4万
查看次数

SyntaxError:位置1的JSON中出现意外的标记o

我使用控制器中的类型类解析了一些数据我得到的数据如下:

{  
   "data":{  
      "userList":[  
         {  
            "id":1,
            "name":"soni"
         }
      ]
   },
   "status":200,
   "config":{  
      "method":"POST",
      "transformRequest":[  
         null
      ],
      "transformResponse":[  
         null
      ],
      "url":"/home/main/module/userlist",
      "headers":{  
         "rt":"ajax",
         "Tenant":"Id:null",
         "Access-Handler":"Authorization:null",
         "Accept":"application/json, text/plain, */*"
      }
   },
   "statusText":"OK"
}
Run Code Online (Sandbox Code Playgroud)

我试着像这样存储数据

var userData = _data;
var newData = JSON.parse(userData).data.userList;
Run Code Online (Sandbox Code Playgroud)

如何将用户列表提取到新变量?

javascript json angularjs

58
推荐指数
6
解决办法
21万
查看次数

使用$ .parseJSON()和JSON.parse()导致"Uncaught SyntaxError:Unexpected token o"的原因是什么

我已经看过SO和谷歌,但已经注意到这有帮助,我不确定如何继续.我有一个数组,我从一个PHP页面返回使用echo json_encode(),如下所示:

[" "," "," "," "," ",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
Run Code Online (Sandbox Code Playgroud)

但是Unexpected token o at Object.parse (native)当我尝试使用JSON.parse()并且Unexpected token o at Function.parse (native)当我使用JQuery交替时,我不断得到.

但是当我把它附加到$scope我可以在页面上打印出来的时候,那么我做错了什么,我怎么能纠正这个?

这是我的控制器

function myController($scope, memberFactory) {

    response = memberFactory.getMonth("2013-08-01 06:30:00");
    //$scope.response = response;
    var monthDays = $.parseJSON(response);

    var dates = [];
    for (var i = 0; i < monthDays.length; i++) {
        if (i % 7 == 0) dates.push([]);
        dates[dates.length - 1].push(monthDays[i]);
    }
    $scope.dates = dates;
    //
}
Run Code Online (Sandbox Code Playgroud)

这是我的服务方法:

obj.getMonth = function (date) { …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

27
推荐指数
2
解决办法
7万
查看次数

标签 统计

javascript ×3

angularjs ×2

arrays ×1

json ×1

loops ×1