javascript - 重复函数 JavaScript

标签 javascript arrays function

请帮忙,我不知道我的代码有什么问题。我想创建一个复制数组的函数,例如: 函数重复([1,2,3,4] 答案:[1,2,3,4,1,2,3,4]。

var arr1 = [];

function duplicate(arr){
   arr1 = arr;
   for(var i = 0;i<arr.length;i++){
      arr1.push(arr[i]);    
   }
   return arr1
}

感谢您的帮助

最佳答案

您不能在使用数组的 length 作为循环条件时对其进行迭代,并将其添加到其末尾,因为您将得到无限循环。

Slice克隆它的数组,然后迭代原始数组,然后推送到克隆:

function duplicate(arr){
   var temp = arr.slice();
   
   for(var i = 0;i<arr.length;i++){
      temp.push(arr[i]);    
   }
   return temp;
}

console.log(duplicate([1, 2, 3, 4]));

更简单的解决方案是 Array#concat数组自身:

function duplicate(arr){
  return arr.concat(arr);
}

console.log(duplicate([1, 2, 3, 4]));

关于javascript - 重复函数 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47781726/

相关文章:

javascript - 将内容包装在一个 div 中,然后附加到

javascript - 如何检查数组中是否存在元素?

JavaScript 更改提交表单上的输入样式

javascript - 带有 ng-include 模板的 Angular 指令

ios - 按位置打印数组显示为空

php - 为什么 php 函数不更新数组值

c++ - C++ 中的快速函数对象?

javascript - 从 Javascript 中的递归函数返回对象数组

javascript - 使用 Ajax 的大数据表上的下拉过滤器列表

Java ArrayList长度错误