为什么在Javascript中将对象推入另一个数组后,我的对象会变成数组?
我是新手。我正在学习将嵌套数组转换为包含对象的数组 我的问题是:为什么为什么在Javascript中将对象推入另一个数组后,我的对象会变成数组?,javascript,arrays,Javascript,Arrays,我是新手。我正在学习将嵌套数组转换为包含对象的数组 我的问题是:为什么var outObj={}
var outObj={}将outobj{}
推入outArr[]
?
(请参阅本文末尾的预期和实际输出)提前感谢您的帮助
function transformEmployeeData(inArr) {
var outArr = [];
for(var x = 0; x < inArr.length; x++){
var outObj = {}; // The obj that will be stores in outArr[]
var a1 = inArr[x];
//console.log(a1 + '\n');
for(var y = 0; y < a1.length; y++){
outObj[a1[y][0]] = a1[y][1];
//console.log(outObj[a1[y][0]]);
}
outArr.push(outObj);
}
return arr;
}
var arr = [
[
['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']
],
[
['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager']
]
];
console.log(transformEmployeeData(arr));
/*
Expected Output:
[
{firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'},
{firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}
]
Actual Output:
[ [ [ 'firstName', 'Joe' ],
[ 'lastName', 'Blow' ],
[ 'age', 42 ],
[ 'role', 'clerk' ] ],
[ [ 'firstName', 'Mary' ],
[ 'lastName', 'Jenkins' ],
[ 'age', 36 ],
[ 'role', 'manager' ] ] ]
*/
函数转换雇员数据(INAR){
var-outArr=[];
对于(变量x=0;x
从transformEmployeeData()
函数调用返回outArr
而不是arr
return outArr;
返回传递给函数的值(间接)。Doconsole.log(transformEmployeeData([])代码>并感到惊讶;)呸……非常感谢@guest271314,一下子学会了所有东西,整理好了所有东西,让我觉得很累。