Как добавить каждый элемент массива в массив?

0

Используя 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;
     }
Теги:

2 ответа

2
Лучший ответ

Вы можете использовать Array.prototype.map()

Попробуйте это

var newList=list.map(function(x){ return {'date':x} })

DEMO

0

Если вы хотите сделать это с минимальными изменениями, вы можете сделать это:

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 лучше: оно СУХОЕ, понятное и удобное в обслуживании.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню