Используя JS, я пытаюсь получить массив 2d, где у меня есть массив, как показано ниже:
array [ "2016/03/31", "2016/03/30", "2016/03/29", "2016/03/28", "2016/03/27", "2016/04/01"]
Ищете выход как
array [
{'date':'2016/03/22'},
{'date':'2016/03/23'},
{'date':'2016/03/24'},
{'date':'2016/03/25'},
{'date':'2016/03/26'},
{'date':'2016/03/27'},
{'date':'2016/03/28'},
{'date':'2016/03/29'}
];
JS
function getarryDates (list)
{
var aryDates = [];
var Dates_ary = [];
$.each(list, function(i, e) {
Dates_ary[0] = aryDates.push("'date:'"+ e);
});
return Dates_ary;
}
Вы можете использовать Array.prototype.map()
Попробуйте это
var newList=list.map(function(x){ return {'date':x} })
Если вы хотите сделать это с минимальными изменениями, вы можете сделать это:
function getarryDates (list)
{
var aryDates = [];
var Dates_ary = [];
$.each(list, function(i, e) {
Dates_ary[i] = {"date": e }; // <-- use index 'i' and
// create object instead of str.
});
return Dates_ary;
}
Однако решение с map
лучше: оно СУХОЕ, понятное и удобное в обслуживании.