我的javascript中有点奇怪的行为。我想通过使用返回操作数组的函数来使document.ready
更清洁。
function manipulateArray(arrayToBeManipulated){
var result=new Array();
//...push something in result....
result.push(arrayToBeManipulated[0]);
console.log(result);
return result;
}
console.log
始终向我显示正确的结果。但是当我调用方法时
//...code...//
var x=new Array();
//push something into x
var result=manipulateArray(x);
console.log(result);
它始终显示undefined
。有这个原因吗?
编辑也许我忘了告诉该函数是在$.ajax
请求中调用的。这可能是问题吗?
答案 0 :(得分:3)
结果不是undefined
[undefined]
。
0
索引(隐含undefined
)推入Y undefined
的显式值为0
。答案 1 :(得分:2)
这是因为您的新Array
x
为空,将某些内容推入其中,因为当您在函数中操作数组时,您为您的第一个索引[undefined]
问题,
我已推出单个元素,现在可以使用了
function manipulateArray(arrayToBeManipulated){
var result=new Array();
//...push something in result....
result.push(arrayToBeManipulated[0]);
console.log(result);
return result;
}
//...code...//
var x=new Array();
x.push(1);
var result=manipulateArray(x);
console.log(result);