JavaScript引用类型之Array数组的concat()和push()方法的区别
在javascript中,我们一般都只用push向数组的尾部插入新元素的,但是其实在javascript中还有另外一个方法和push一样,也是向数组尾部插入新元素的,但是他们之间却存在着一定的区别,当我们看下面的代码的时候就明显的知道了:
1. 通过使用push操作数组:
2. 通过使用concat操作数组:
push 遇到数组参数时,把整个数组参数作为一个对象插入;而 concat 则是拆开数组参数,一个元素一个元素地加进去。
push 直接改变当前数组;concat 不改变当前数组。
下面通过代码证明上面的区别,代码如下:
<script> var colors=["red","blue","green"]; var a={name:"张三"}; var count=colors.push(a); alert(count); //输出:4 alert(colors); //输出:red,blue,green,[object Object] colors=colors.concat(a); alert(colors[3]);//输出:red,blue,green,[object Object],[object Object] 显然concat将a集合拆分成name对象和"张三"对象,而push则是将a当成一个对象 </script>
转载于:https://www.cnblogs.com/GreenLeaves/p/5895569.html
JavaScript引用类型之Array数组的concat()和push()方法的区别相关推荐
- JavaScript引用类型之Array数组之强大的splice()方法
splice()方法可以说是Array数组最强大的方法,他的用法很多,主要用法是向数组的中部插入项! 下面是它的用法: arrayObject.splice(index,howmany,element ...
- c++ 数组截取_【学习教程】JavaScript中原生Array数组方法详解
来源 | http://www.fly63.com/article/detial/9692 JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeo ...
- JavaScript中原生Array数组方法详解
JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeof运算判断时,并没有一个特定的值,仍然返回'对象'.但使用[] instanceof Arr ...
- 【TypeScript系列教程14】Array数组对象的常见的方法
目录 TypeScript Array(数组) concat() every() filter() forEach() join() lastIndexOf() map() pop() push(
- 数组push()方法和concat()方法的区别
定义: push()添加到数组末尾,并返回修改后数组的长度. concat()基于当前数组中的所有项创建一个新数组.具体来说,这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾, ...
- Javascript基础之Array数组API
Javascript数组原型提供的方法非常之多,主要分为三种: 直接修改原数组 原数组不变,返回新数组 数组遍历方法 直接修改原数组的API pop() 删除一个数组中的最后的一个元素,并且返回这个元 ...
- html数组拼接js,javascript合并两个数组最简单的实现方法
在开发的过程中,我们很多时候会遇到需要将两个数组合并成一个数组的情况出现. var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6]; // 将arr1和arr2合并成为[ ...
- javascript学习系列(6):数组中的pop等方法
最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...
- 【我不熟悉的javascript】判断字符串数组内容是否相等的方法,不考虑顺序
单元测试例子如下 const compareArray = [{arr1: ['no', 'no', 'yes', 'yes'], // 数组1arr2: ['yes', 'yes', 'yes', ...
- javascript学习系列(23):数组中的解构方法
最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...
最新文章
- HTML中收藏和删除的小图案,YS - 《网页制作》复习题(多选题)
- SpringMVC杂记
- 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow 3.1PlayGround
- 【Leetcode】62. 不同路径
- 96秒100亿!如何抗住双11高并发流量?
- python程序员脱单攻略_作为一只程序员,如何脱单?
- IJCAI 2018:中科院计算所:增强对话生成一致性的序列到序列模型
- 计算机win10开机音乐,大师传授win10系统电脑开机总是自动播放音乐的方案
- mysql触发器调用存储过程出错_mysql 触发器中调用存储过程
- excel表中怎么插入visio_Excel工作表中的排序,你真的掌握吗?10张动图带你了解!...
- 文件IO open 与 标准 IO fopen 的对应
- python sqlite3 executemany_python – SQLite executemany的问题
- 【白话设计模式】23种设计模式一句话通俗讲解
- 适配移动端的html模板
- 201912月全国计算机二级考试,201912月天津计算机二级报名时间:12月5日-12月7日!附报名入口...
- 图书销售系统测试报告
- 第七章--图--基本概念
- Online Event | Building Teams Apps Together
- 苹果mac电脑怎么设置默认浏览器
- 微服务架构系列主题:微服务架构概述
热门文章
- AltTab 把 Windows 的 Alt+Tab 功能带到 macOS
- 如何在苹果Mac上删除APFS卷?
- M1 Mac 是否入手,先了解这些常用软件兼容性!!
- Java 集合系列09之 Map架构
- Effective_STL 学习笔记(四十五) 注意 count、find、binary_search、lower_bound、upper_bound 和 equal_range 的区别...
- recyclerview简单实现单选多选反选全选
- WPF自定义控件(一)の控件分类
- [第五组] 典型用户 +用例+功能说明书+技术说明书 2017.07.25版
- Python学习笔记8—Python函数
- Django模板过滤