在我的例子中,如何创建javascript数组?

在我的例子中,如何创建javascript数组?,javascript,arrays,object,Javascript,Arrays,Object,我想创建一个如下所示的obj: var collection = [{ 'title': 'title1', 'content': { 'subtitle': 'sub1', 'contents': 'sub content 1' } }, { 'title': 'title2', 'content': { 'subtitle': 'sub2', 'contents': 'sub conten

我想创建一个如下所示的obj:

var collection = [{
    'title': 'title1',
    'content': {
        'subtitle': 'sub1',
        'contents': 'sub content 1'
    }
}, {
    'title': 'title2',
    'content': {
        'subtitle': 'sub2',
        'contents': 'sub content 2'
    }
}, {
    'title': 'title3',
    'content': {
        'subtitle': 'sub1',
        'contents': 'sub content 1'
    }
}];
我的数组就像

var section = [];
for (var i = 0; i < data.length; ++i) {
    section['title'] = data.title;  //data.title represent title1 to title 3
    for (var j = 0; j < data.sections.length; ++j) {
        //data.sections[j].content represent {'subtitle':'sub1', 'contents':'sub content 1'}
    }
}
var节=[];
对于(变量i=0;i

我不知道如何调整我的代码来创建上面提到的obj。有人能帮我吗?非常感谢

您喜欢这项工作吗?在没有看到数据数组的确切外观的情况下,我做了一些假设

var section = [],
        obj,
        d,
        s;
      for (var i = 0; i < data.length; ++i) {
          d = data[i];
          obj = {};
          obj.content = {};
          obj.title = d.title;
              for (var j = 0; j < d.sections.length; ++j) {
                  s = d.sections[j];
                  obj[s.subtitle] = s.content;
              }

        section.push(obj);
      }
var节=[],
obj,
D
s
对于(变量i=0;i
您可以像那样使用reduce函数,但需要修改它:

var obj = arr.reduce(function(o, v, i) {
   o[i] = v;
   return o;
}, {});