JavaScript创建函数从数组数组返回对象

JavaScript创建函数从数组数组返回对象,javascript,arrays,function,object,Javascript,Arrays,Function,Object,这是为了一项任务,我已经为此工作了几个小时,但毫无结果。请不要投反对票——有人告诉我,即使是专家也会不时提问: 我需要创建一个函数,将数组数组作为n参数,并“返回”一个对象,如下面代码末尾所示。(stackoverflow的过滤器让我很难问一个流利的问题) 函数必须使用“return”而不是“console.log”。这是我的密码: var订单=[ [ [‘第一’、‘第二’、‘第二’、‘第三’、‘第三’、‘第三’、‘第四’、‘第四’、‘第四’] ], [ 【为什么】、【是】、【这个】、【否】、

这是为了一项任务,我已经为此工作了几个小时,但毫无结果。请不要投反对票——有人告诉我,即使是专家也会不时提问:

我需要创建一个函数,将数组数组作为n参数,并“返回”一个对象,如下面代码末尾所示。(stackoverflow的过滤器让我很难问一个流利的问题)

函数必须使用“return”而不是“console.log”。这是我的密码:

var订单=[
[
[‘第一’、‘第二’、‘第二’、‘第三’、‘第三’、‘第三’、‘第四’、‘第四’、‘第四’]
],
[
【为什么】、【是】、【这个】、【否】、【如果】、【所以】、【滴答】、【答】
]
];
函数arrayToObject(数组){
obj={};
对于(var i=0;i//{why:'yes',this:'no',if:'so,tit:'tat'}]
返回语句应该在for语句的下面,而不是里面。您的代码在获得第二个数组之前退出函数

function arrayToObject(array) {
  obj = [];
  for (var i= 0; i< array.length; i++){
    obj[i] = {};
    for (var j= 0; j< array[i].length; j++){
      obj[i][array[i][j][0]] = array[i][j][1];
    }
  } 
  return obj;
}
函数arrayToObject(数组){
obj=[];
对于(var i=0;i
像这样的东西怎么样。。。我已经将您的代码转换为ECMAScript 6,并且在第一个循环之后移动了return语句。为了一次性返回所有内容,我将obj转换为一个数组,并分别推送其中的每个对象

var orders = [
  [
    ['first', 1], ['second', 2], ['third', 3], ['fourth', 4]
  ],
  [
    ['why', 'yes'], ['this', 'no'], ['if', 'so'], ['tit', 'tat']
  ]
];

function arrayToObject(array) {
  let obj = [];
  for (let current_list of array){
    let _tmpObj = {};
    for (let values of current_list){
      _tmpObj[values[0]] = values[1];
    }
    obj.push(_tmpObj);
  }
  return obj;
}

console.log(arrayToObject(orders));
它的输出:

[
    { first: 1, second: 2, third: 3, fourth: 4 },
    { why: 'yes', this: 'no', if: 'so', tit: 'tat' }
]

不确定这是否是您需要的输出。这会将每个数组元素转换为一个对象,然后返回所创建对象的数组

var orders = [
    [
        ['first', 1], ['second', 2], ['third', 3], ['fourth', 4]
    ],
    [
        ['why', 'yes'], ['this', 'no'], ['if', 'so'], ['tit', 'tat']
    ]
];

function arrayToObject(array) {
  var result = [];
  for (var i= 0; i< array.length; i++){
    var obj = {};//obj holds the object that the next element in the array is converted to.
    for (var j= 0; j< array[i].length; j++){
      obj[array[i][j][0]] = array[i][j][1];
    }
    result.push(obj); //add obj to a result once we converted all elements of array[i]
  } 
  return result; //what is returned needs to be out of the for loop
}
arrayToObject(orders);

//output:  
//[ { first: 1, second: 2, third: 3, fourth: 4 },
  { why: 'yes', this: 'no', if: 'so', tit: 'tat' } ]
var订单=[
[
[‘第一’、‘第二’、‘第二’、‘第三’、‘第三’、‘第三’、‘第四’、‘第四’、‘第四’]
],
[
【为什么】、【是】、【这个】、【否】、【如果】、【所以】、【滴答】、【答】
]
];
函数arrayToObject(数组){
var结果=[];
对于(var i=0;i
您不能返回这样的内容。。。它必须在同一个对象或数组中。。。请修复需要输出的示例,以便我们提供帮助。此格式返回一个对象,其中包含数组中的所有项。当它们正确配对时,我需要让数组中的每个数组形成自己的对象。这是不可能的。为什么不呢?您想返回一个对象数组吗?是的,我很抱歉。是的,它应该返回一个对象数组。我不知道我怎么会错过这个。我把这些物体移动到一个数组中。