Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何优雅地更新散列数组中的值_Javascript_Angularjs_Underscore.js - Fatal编程技术网

Javascript 如何优雅地更新散列数组中的值

Javascript 如何优雅地更新散列数组中的值,javascript,angularjs,underscore.js,Javascript,Angularjs,Underscore.js,目前我使用$.each来更新散列数组中的值 我想知道是否有任何优雅的解决方案来实现这一点 用日期更新每个x值。解析 $scope.flights 我会在这里使用纯JavaScript $scope.flights.forEach(function(flight) { flight.data.forEach(function(item) { item.x = Date.parse(item.x); }); }); 您可以使用“for”,例如: for(var x in $scop

目前我使用$.each来更新散列数组中的值

我想知道是否有任何优雅的解决方案来实现这一点

用日期更新每个x值。解析 $scope.flights
我会在这里使用纯JavaScript

$scope.flights.forEach(function(flight) {
  flight.data.forEach(function(item) {
    item.x = Date.parse(item.x);
  });
});
您可以使用“for”,例如:

for(var x in $scope.flights){
    var data = $scope.flights[x].data
    for(var i in data){
        var flight = data[i];
        var dateString = flight.x;
        flight.x = Date.parse(dateString);
    }
}

如果使用angular,则有一个angular.forEach函数,因此不必绑定到jQuery。我想如果您不使用旧的IE版本,您可以使用ES6中的lambda。下划线也有自己的forEach函数。什么是“优雅的”和什么不是“优雅的”是意见。如果您有可用的代码,并且正在寻找改进建议,那么代码审查(也是stackoverflow相同设置的一部分)是询问的地方,而不是这里,这是borken ocde的地方。如前所述,不要使用
$。每个
。它可以是:
$scope.flights.forEach(obj=>obj.data.forEach(item=>item.x=Date.parse(item.x))
您决定解决方案了吗?:)@dfsq嗨,为什么每个都没有美元,有缺点吗?
$scope.flights.forEach(function(flight) {
  flight.data.forEach(function(item) {
    item.x = Date.parse(item.x);
  });
});
for(var x in $scope.flights){
    var data = $scope.flights[x].data
    for(var i in data){
        var flight = data[i];
        var dateString = flight.x;
        flight.x = Date.parse(dateString);
    }
}