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

i get an array list from this function above

[{"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"}

how can i push all day value from this array into a new one.

trincot
  • 317,000
  • 35
  • 244
  • 286

3 Answers3

5

You can use Array#map to get the value of every day key.

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);
kind user
  • 40,029
  • 7
  • 67
  • 77
0

You can achieve this in different ways :

  1. Using JavaScript for...in loop.

    DEMO

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. Using Array map() method.

    DEMO

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. Using JavaScript for loop.

    DEMO

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);
Debug Diva
  • 26,058
  • 13
  • 70
  • 123
0

Still you can use map instead of for loop. Please find the code snippet below

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);
Srigar
  • 1,648
  • 3
  • 14
  • 28