javascript - 在 javascript 中交换数组元素时出现问题

标签 javascript arrays undefined

我是一名助教,一名学生进来询问为什么以下代码没有交换数组中的前 2 个元素,而是导致未定义。这是学生向我展示的代码:

var swapFirstTwoElementsOf = function (a) {
    a = [a[1],a[0]].concat(a.slice(2, a.length));
}

为什么返回未定义?

最佳答案

您需要返回该变量。局部引用被重新赋值,但原始变量 a 没有被重新赋值。你需要做类似的事情

var swapFirstTwoElementsOf = function (a) {
    return [a[1],a[0]].concat(a.slice(2, a.length));
}

var myArray = [0, 1, 2, 3];
myArray = swapFirstTwoELementsOf(myArray);

以前,该函数的计算结果为未定义,因为它没有返回任何内容。

关于javascript - 在 javascript 中交换数组元素时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390028/

相关文章:

php - 制表符分隔的 PHP 字符串到数组

arrays - Sort 方法仅对附加字符串进行排序,而不对数组中最初的字符串进行排序

PHP - 调用未定义函数 http_inflate()

javascript - 在nodejs中未定义为 falsey

javascript - 谷歌地图标记标题不显示

javascript - 如何启用对启用了 Google Compute Engine IAP 的负载均衡器的 CORS 请求?

javascript - 'formatted_address' 对于某些地方为 null,但并非全部(Google map API)这是为什么?

javascript - 如何通过回溯递归地修改数组元素?

javascript - 用于检测和替换 undefined object 属性的全局函数/服务 | Angular 2-TS

javascript - 使用值创建新的 div 属性