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
  • 263,463
  • 30
  • 215
  • 251

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
  • 34,867
  • 6
  • 60
  • 74
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);
Rohìt Jíndal
  • 16,572
  • 12
  • 64
  • 110
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,469
  • 2
  • 13
  • 26