当前位置: 首页 > news >正文

js中常用数组方法concat join push pop slice splice shift

javascript给我们很多常用的 数组方法,极大方便了我们做程序。下面我们来介绍下常用的集中数组方法。 比如 concat() join() push() pop() unshift() shift() reverse() slice() sort() splice() 等。



1、

concat()方法 数组和数组的 粘结:

var a=[1,2,3,4];

var b=[5,6,7,8];

var c=a.concat(b);

console.log(c); // [1,2,3,4,5,6,7,8] 

2、

join()方法  改变数组中拼接的符号:

var a=[1,2,"字符串",false,undefied,null];

a.join("++");  //   [1++2++字符串++false++++];

3、

push()方法 在数组的最后一项后追加数值。 //返回数组的长度

var a=[1,2,3]

a.push(9);  //返回数组的长度 4,改变了原数组

console.log(a) //[1,2,3,9]

向a数组中 push入 一个数组,push的数组会变为 a的子数组,a的长度+1 

4、

pop() 删除数组的最后一项。 //返回被删除的值,改变了原数组

var a=[1,2,3,4];

a.pop()   // 返回删除值 4

console.log(a)  // [1,2,3]

5、

unshift() 在数组的第0项前 插入值,原数组的值索引向后移  //返回数组的长度,插入的值为数组,变为 子数组。 改变原数组

var a=[1,2,3];

a.unshift("wo");  //返回数组的长度 4

console.log(a);  //["wo",1,2,3]

var b=[9,8,7];

a.unshift(b);  //返回数组的长度 5;

console.log(a)  //[ [9,8,7] ,"wo",1,2,3] 

6、

shift() 删除数组的第0项,原数组的值 索引向前的移动。 //返回被删除的值 改变原数组

var a=[1,2,3];

a.shift()  //返回被删除的值 1;

console.log(a)  //[2,3]

7、

reverse()  数组的值翻转。 //返回 翻转后的 数组 ,原数组改变

var a=[1,2,3];

a.reverse()  //[3,2,1]

8、

slice(index,[end]) end可选   赋值索引从index开始到 end-1 结束 为一个新数组,原数组不变。

var a=[1,2,3,4,5];

a.slice(2,4) //返回 [3,4]

a.slice(0) //[1,2,3,4,5]

a.slice(3) //[4,5] 

console.log(a)  // [1,2,3,4,5]

9、

sort()  按照 ASCII表排序  返回排序后新数组  原数组改变

var a=[1,2,3,12,13];

a.sort()  //返回 [1,12,13,2,3]

如果按照正常逻辑排序 :

a.sort(function(a,b){

   return a-b;

})    //[1,2,3,12,13]

10、

splice(index,num,ele1,ele2...) 很强大的一个方法。index指 从index删除(包括index对应的值) num指 删除的个数, ele1,ele2...代表插入的值  //返回删除的值 

原数组改变


var a=[1,2,3,4,5];

a.splice(1,2,"我是","插入的值")   //返回 删除的值 2,3

console.log(a)  //  [1,"我是","插入的值",4,5]

11、

shift

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

语法

arrayObject.shift()

返回值

数组原来的第一个元素的值。

说明

如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。

提示和注释

注释:该方法会改变数组的长度。

提示:要删除并返回数组的最后一个元素,请使用 pop() 方法。

 


相关文章:

  • 那些年,一起学的Java 2-4
  • 那些年,一起学的Java 3-3
  • Android SDK下载项的说明
  • Linux内存管理_stack区的地址方向
  • 简单易懂的现代魔法——Play Framework攻略1
  • struts2上传文件,文件大小默认最大值的修改
  • **PHP二维数组遍历时同时赋值
  • Windows server 2008系统的安装
  • 修正memcache.php中的错误示例
  • [每天一个知识点]34-职业生涯-用得着和用不着的知识
  • 将集成spring的项目从tomcat上移植到weblogic下存在的问题
  • Python中不要定义和系统模块一样的名字
  • AngularJS之过滤器
  • ios面试总结-
  • 一步一步给你的 Android app 加入聊天功能
  • [译]CSS 居中(Center)方法大合集
  • 【391天】每日项目总结系列128(2018.03.03)
  • 2017 年终总结 —— 在路上
  • Apache Pulsar 2.1 重磅发布
  • Fabric架构演变之路
  • React-flux杂记
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • windows下使用nginx调试简介
  • 关于Java中分层中遇到的一些问题
  • 实现菜单下拉伸展折叠效果demo
  • 使用 Docker 部署 Spring Boot项目
  • 试着探索高并发下的系统架构面貌
  • 通过git安装npm私有模块
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 我的业余项目总结
  • 我这样减少了26.5M Java内存!
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 怎么将电脑中的声音录制成WAV格式
  • nb
  • 昨天1024程序员节,我故意写了个死循环~
  • ​iOS实时查看App运行日志
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (2)(2.10) LTM telemetry
  • (C++)八皇后问题
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转)LINQ之路
  • .gitignore文件_Git:.gitignore
  • .Net6使用WebSocket与前端进行通信
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • []我的函数库