У Вас массив объектов и Вы хотите изменить свойство объекта по ключу. Для этого нужно пробежаться циклом по массиву, чтобы найти объекты и пробежаться по ключам объекта, чтобы найти нужные ключи и изменить их значения.
var array = [{"id":"3","info":"my Info","startDate":"Fri Jun 08 2018 00:00:00 GMT+0200","endDate":"Thu Jun 21 2018 00:00:00 GMT+0200"},{"id":"4","info":"my Info 2","startDate":"Thu Aug 02 2018 00:00:00 GMT+0200","endDate":"Mon Aug 20 2018 00:00:00 GMT+0200"}];
for (var object in array) {
for (var key in array[object]) {
if (key === 'startDate' || key === 'endDate') {
array[object][key] = new Date(array[object][key]);
}
}
}
console.log(array);
Или можете запихнуть это в функцию, задать нужные ключи и в callback функции изменять значения.
var array = [{"id":"3","info":"my Info","startDate":"Fri Jun 08 2018 00:00:00 GMT+0200","endDate":"Thu Jun 21 2018 00:00:00 GMT+0200"},{"id":"4","info":"my Info 2","startDate":"Thu Aug 02 2018 00:00:00 GMT+0200","endDate":"Mon Aug 20 2018 00:00:00 GMT+0200"}];
changeArray(array, ['startDate', 'endDate'], function(value) {
return new Date(value);
});
function changeArray(array, keys, change) {
var find = function(key) {
if (typeof keys === 'string') {
return key === keys ? true : false;
} else if (Array.isArray(keys)) {
return keys.includes(key);
}
};
for (var object in array) {
for (var key in array[object]) {
if (find(key)) {
array[object][key] = change(array[object][key]);
}
}
}
return array;
}