AngularJS对象在一个数组到一个新的


DashboardService.GetDateList($scope.datestart, $scope.dateend).then(function (response) {
    $scope.listdate = response.data;
});

我从上面的这个函数中得到一个数组列表

[{"day":1,"sql_date":"2017-04-01T00:00:00"},
{"day":2,"sql_date":"2017-04-02T00:00:00"},
{"day":3,"sql_date":"2017-04-03T00:00:00"},
{"day":4,"sql_date":"2017-04-04T00:00:00"},
{"day":5,"sql_date":"2017-04-05T00:00:00"}

如何将此数组中的全天值推入新数组。

您可以使用

Array#map来获取每个day密钥的value

var arr = [{"day":1,"sql_date":"2017-04-01T00:00:00"},{"day":2,"sql_date":"2017-04-02T00:00:00"},{"day":3,"sql_date":"2017-04-03T00:00:00"},{"day":4,"sql_date":"2017-04-04T00:00:00"},{"day":5,"sql_date":"2017-04-05T00:00:00"}],
    newArr = arr.map(v => v.day);
    
    console.log(newArr);

您可以通过不同的方式实现此目的:

  1. 使用 JavaScript 用于...循环中

    演示

var responseObj = [{"day":1,"sql_date":"2017-04-01T00:00:00"},
{"day":2,"sql_date":"2017-04-02T00:00:00"},
{"day":3,"sql_date":"2017-04-03T00:00:00"},
{"day":4,"sql_date":"2017-04-04T00:00:00"},
{"day":5,"sql_date":"2017-04-05T00:00:00"}];
var newArr = [];
for (var i in responseObj) {
    newArr.push({"day":responseObj[i].day});  
}
console.log(newArr);

  1. 使用 Array map(( 方法。

    演示

var responseObj = [{"day":1,"sql_date":"2017-04-01T00:00:00"},
{"day":2,"sql_date":"2017-04-02T00:00:00"},
{"day":3,"sql_date":"2017-04-03T00:00:00"},
{"day":4,"sql_date":"2017-04-04T00:00:00"},
{"day":5,"sql_date":"2017-04-05T00:00:00"}];
var newArr = responseObj.map(function(item) {
  return {"day":item.day};
});
console.log(newArr);

  1. 使用 JavaScript for loop。

    演示

var responseObj = [{"day":1,"sql_date":"2017-04-01T00:00:00"},
{"day":2,"sql_date":"2017-04-02T00:00:00"},
{"day":3,"sql_date":"2017-04-03T00:00:00"},
{"day":4,"sql_date":"2017-04-04T00:00:00"},
{"day":5,"sql_date":"2017-04-05T00:00:00"}];
var newArr = [];
for (var i = 0; i < responseObj.length; i++) {
  newArr.push({"day": responseObj[i].day});
}
console.log(newArr);

你仍然可以使用 map 而不是 for 循环。请在下面找到代码片段

var arr = [{"day":1,"sql_date":"2017-04-01T00:00:00"},{"day":2,"sql_date":"2017-04-02T00:00:00"},{"day":3,"sql_date":"2017-04-03T00:00:00"},{"day":4,"sql_date":"2017-04-04T00:00:00"},{"day":5,"sql_date":"2017-04-05T00:00:00"}],
newArr = arr.map(function(obj) { return obj.day });
console.log(newArr);

最新更新