今天遇到遇到了一个前端代码问题,打印到控制台才知道是push的方法用错了。
首先定义一个旧数组:

old_array = [1, 2, 3]

再定义一个新数组:

new_array = [4, 5, 6]

如何把旧数组的元素放入新数组中呢,笔者昨天下意识的是这样子写:

new_array.push(old_array)

以为结果是:

new_array[4, 5, 6, 1, 2, 3]

实际上是:

new_array[4, 5, 6, [1, 2, 3]]

这不就错了吗。

按照以前写法,应该是遍历旧数组放入新数组中。

for方法:
代码:
old_array = [1, 2, 3]
new_array = [4, 5, 6]
for(var i=0; i < old_array.length; i++){new_array.push(old_array[i])
}
结果:
new_array = [4, 5, 6, 1, 2, 3]
for in方法:
代码:
old_array = [1, 2, 3]
new_array = [4, 5, 6]
for(item in old_array){new_array.push(item)
}
结果(改变了元素字符结构,由int类型变成了char类型):
new_array = [4, 5, 6, '0', '1', '2']
for of 方法:
old_array = [1, 2, 3]
new_array = [4, 5, 6]
for (var i of old_array) {new_array.push(old_array[i])
}
结果:
new_array =  [4, 5, 6, 2, 3, undefined]
通过索引添加,与for方法类似:
old_array = [1, 2, 3]
new_array = [4, 5, 6]
new_array.push(old_array[0], old_array[1], old_array[2])结果:
new_array = [4, 5, 6, 1, 2, 3]

上面的方法用得都不够优雅,我要推荐另外一种方法,三个点

看了文档发现还有其它更简单的,就三个点:
old_array = [1, 2, 3]
new_array = [4, 5, 6]
new_array.push(...old_array)
结果:
new_array = [4, 5, 6, 1, 2, 3]

那个文档地址就叫Mmdn web docs。
欢迎大家多看文档,少被部分写得很烂的答案影响。

前端中push数组元素到新数组方法相关推荐

  1. JavaScript 去除数组中重复的元素 得到新数组

    方法一: 思路: 准备一个新数组,将原数组中的元素一一放入新数组, 放入之前判断该元素是否存在新数组中,不存在的话就直接存入新数组. function uniqueArr(arr){var newAr ...

  2. vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...

    从一个数组中取部分值生成新数组,要实现此需求通常都是采用循环的方法来完成,那有没有更简易的思路呢? 借用jscript可以实现,直接取值,不用循环.例如从100000万中元素是取8000个值出来生成新 ...

  3. C语言试题四十四之移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。

    1. 题目 请编写一个函数function,它的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后. 2 .温馨提示 C语言试题汇总里可 ...

  4. 在Java中使用分隔符(拆分的对立面)连接数组元素的快速简便方法

    本文翻译自:A quick and easy way to join array elements with a separator (the opposite of split) in Java [ ...

  5. c语言中的下标变量是什么,c语言引用数组元素时其数组下标的允许的数据类型是什么...

    c语言引用数组元素时其数组下标的允许的数据类型是什么 发布时间:2020-07-30 11:56:52 来源:亿速云 阅读:621 作者:Leah c语言引用数组元素时其数组下标的允许的数据类型是什么 ...

  6. c++[2035]将a数组中第一个元素移到数组末尾,其余数据依次往前平移一个位置。

    [题目描述] 将a数组中第一个元素移到数组末尾,其余数据依次往前平移一个位置. [输入] 第一行为数组a的元素个数: 第二行为n个小于1000的正整数. [输出] 平移后的数组元素,每个数用一个空格隔 ...

  7. 删除数组中某个指定元素或删除数组中某个对象元素

    ES6--删除数组中某个指定元素或删除数组中某个对象 1.删除数组中某个指定元素 2.删除数组中的某个对象 1.删除数组中某个指定元素 let index = this.array.indexOf(n ...

  8. C语言中调用数组元素的三种方法:下标法、数组名法、指针法

    /*调用数组元素的三种方法:下标法.数组名法.指针法*/ #include<stdio.h> int main() {int a[] = { 1,2,3,4,5 }, i, * p;pri ...

  9. 在c 语言中 引用数组元素时,【单选题】在 C 语言中,引用数组元素时,其数组下标的数据类型不允许是 A. 整型常量 B. 整型表达式 C. 整形符号常量 D. 整型变量...

    [单选题]在 C 语言中,引用数组元素时,其数组下标的数据类型不允许是 A. 整型常量 B. 整型表达式 C. 整形符号常量 D. 整型变量 更多相关问题 [单选] 焖饭和蒸饭哪个更节省燃气?() [ ...

最新文章

  1. GRADE:联合学习演化节点和社区表示的概率生成模型
  2. python asyncio回调函数_最近用 Python 的 asyncio,有好多不懂。。
  3. 对物联网操作系统特征和定位的思考
  4. python模块、字符编码、文件读写
  5. uni-app——Vue3简单整合uView@1.8.4解决方案
  6. C#Socket通信
  7. qt自定义窗口添加父窗口后,显示不出来
  8. 前台发送 ajax 请求到后台传递数组参数
  9. qt android刘海屏状态栏,华为Mate30 Pro设计曝光:仍配刘海屏+3D结构光
  10. ArcGIS API for JavaScript与 npm
  11. 基于Spingboot的HIS医院门诊信息系统
  12. php+分割文本文件,python实现:将文本文件分割成多个小文本文件(php也可实现)...
  13. python建立英文语料库_使用NLTK创建新的语料库
  14. 陶森大学计算机专业收入水平,2016PayScale美国大学计算机专业本科毕业生薪酬排名...
  15. JavaScript斐波那契数列兔子问题
  16. stm32f103r6最小系统原理图_stm32f103rct6最小系统原理图
  17. google colab使用入门
  18. 操作系统内存换入-请求调页---14
  19. Spring-Data-JPA EntityManager 从一次线上BUG探究Autowired和PersistenceContext的区别
  20. [机缘参悟-58]:《素书》-5-奉行仁义[遵义章第五]

热门文章

  1. ZZULIOJ:1015 计算时间间隔
  2. [ 工具 ] ___ VT : VMware Tools
  3. Protractor locator
  4. CAN总线协议报文浅析
  5. 地方门户+html+模板,帝国CMS地方门户网站模板(含分类信息,WAP手机模板)
  6. JavaWeb---HTTP与Request
  7. 最长公共子序列 LCS(模板) poj 1458
  8. 数理统计-6.1 点估计的概念与无偏性
  9. 安装r 源代码 linux,在RStudio中从源代码安装R软件包时遇到问题-Ubuntu 16.04
  10. C语言语句篇-------赋值语句