javascript - 函数中的返回数组给出了未定义的javascript

标签 javascript

我的 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内部调用的要求。这可能是问题所在吗?

最佳答案

其结果不是未定义,而是[未定义]

  1. 您创建的数组 X 中没有任何内容。
  2. 您创建的数组 Y 中没有任何内容。
  3. 将数组 X 的 0 索引(隐式未定义)插入 Y
  4. 您返回 Y(现在索引 0 的显式值为 undefined

关于javascript - 函数中的返回数组给出了未定义的javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30591727/

相关文章:

javascript - 使用选择器进行完整 ID 搜索

javascript - React Hooks,useState 相关问题。如何更新对象的一个​​属性并保留其余的

javascript - 通过jquery在日期<input>框中自动添加斜杠/符号

javascript - 异步 - 发送后无法设置 header

javascript - Foundation 中的 Google Map API 显示模态显示不正确

php - 通过 AJAX 调试执行 Javascript

javascript - 根据先前选择标签中的选择设置选择标签的可见性

javascript - 在 Javascript SDK 中启用 OAuth 2 后,auth.sessionChange Facebook 事件停止工作

javascript - 事件按钮在 JQuery 中不起作用

javascript - 使用 "this"关键字为对象属性分配动态名称和值