今天遇到遇到了一个前端代码问题,打印到控制台才知道是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. php字符串替换多余逗号_PHP字符过滤函数去除字符串最后一个逗号(rtrim)
  2. Redis常见面试题及答案模板
  3. SQL ROW_NUMBER() OVER函数的基本用法用法
  4. 打乱数组排序的算法shuffle
  5. 数据湖,当然得要全闪存的!
  6. ReSIProcate环境搭建
  7. windows服务器远程执行命令(PowerShell+WinRM)
  8. 可以发外链的网站_可以发外链的地方有哪些?-top推
  9. hp服务器安装win7普通系统安装,hp台式电脑安装系统一键安装win7系统
  10. ZYNQ 调试遇到的种种问题汇总[转帖]
  11. DEM高程数据下载方法
  12. 多电压等级计算机潮流计算,电力系统潮流计算
  13. [FAQ06649] Latin输入法怎么默认勾选几种语言?
  14. 微信文件夹储存在什么位置?如何修改保存路径
  15. 何恺明大神巨作:Faster R-CNN 论文笔记
  16. python轮转数组及nums和nums[:]的区别
  17. 基于电商常识图谱的知识表示与应用
  18. Js中slite,splice,slice,join方法的用法区别
  19. 再获2亿元A+轮融资,乐生智能能否“扫出”舒适区?
  20. 2021acm-icpc区域赛(南京)补题笔记

热门文章

  1. 基于simulink的chaios混沌电路仿真
  2. java 字符串转时间,时间转字符串
  3. unlikely和likely的使用
  4. visualVM 介绍 (一)
  5. RDD论文翻译:基于内存的集群计算容错抽象
  6. 《Java程序设计》课程学习资源集合
  7. IKAnalyzer 配置文件介绍
  8. List集合和ArrayList集合源码
  9. csdn首篇笔记——关于笔记本身
  10. 落户上海市高校毕业生就业指导中心集体户口办理办法