JS--JavaScript数组Array(join、split、reverse、concat、slice)详解
JavaScript数组
数组(Array)是一组有序数据集合,拥有大量方法,适合完成一些复杂的运算。
定义数组
定义数组通过构造函数Array()和运算符new来实现,具体方法如下:
1. 定义空数组:
var a = new Array();
通过这种方式定义的数组是 一个没有任何元素的空数组。
2. 定义带有参数的数组:
var a = new Array(1,2,3,"4","5");
数组中的每个参数都表示一个元素值,数组的元素没有类型限制。可以通过数组下标来定位每个元素。通过数组的length属性确定数组的长度。
3. 定制指定长度的数组:
var a = new Array(6);
采用这种方式定义的数组拥有指定的元素个数,但是没有为元素初始化赋值,这时它们的初始值都是undefined。
定义数组时,可以省略new运算符,直接使用Array()函数来实现。
4. 定义数组直接量:
var a = [1, 2, 3, "4","5"];
存取数组元素
使用[]运算符可以存取数组元素的值。同时可以修改元素的值。
var a = [1, 2,3,"4", "5"];
a[2] = 2;
alert(a[2]);
使用length属性和数组下标,可以遍历数组元素,从而实现动态控制数组元素。
var str = "";
var a = [1,2,3,"4","5"];
for(var i = 0; i < a.length; i++){str += a[i] + "-";
}
document.write(a + "<br/>");
document.write(str);
1. 改变数组的长度:
数组的大小不是固定的,可以动态增加或删除数组元素。
var a = [1,2,3,4,5];
a.length = 4;
document.write(a);
当改变数组的长度时,会自动在数组的末尾增加或删除元素,以实现改变数组的大小。
使用delete运算符可以删除数组元素的值,但是不糊i改变length属性的值。
2. 使用push()和pop()方法来操作数组:
- push():在数组末尾插入一个或多个元素
- pop():从末尾依次取出一个或多个元素,并从数组中删除掉
var a = [];
a.push(1,2,3);//得到a[1,2,3]
a.push(4,5); //得到a[1,2,3,4,5]
a.pop(); //得到a[1,2,3,4]
3. 使用unshift()和shift()方法:
unshift()和shift()方法与push()和pop()方法类似,但是是作用于数组头部
var a = [];
a.unshift(1,2,3);//得到a[1,2,3]
a.unshift(4,5); //得到a[4, 5,1,2,3]
a.shift(); //得到a[5,1,2,3]
4. 使用splice()方法:
该方法是一个通用删除和插入元素的方法,它可以在数组指定的位置开始删除或插入元素。
splice()方法包含3个参数:
1:只当插入的起始位置
2:指定要删除元素的个数
3:第三个参数开始表示插入的具体元素
var a = [1,2,3,4,5,6];
var b = a.splice(2,2);
document.write(a + "<br />"); //输出[1,2,5,6]
document.write(b); //输出[3,4]
数组应用
1. 数组与字符串互转:
示例:使用join()方法可以把数组转换为多种形式的字符串。join()方法包含一个参数,用来定义合并元素的连接字符。如果join()方法不提供参数,则默认使用逗号。
var a = [1,2,3,4,5];
a = a.join("-");
document.write("a类型 = " + typeof(a) + "<br/>");
document.write("a的值 = " + a);
示例:使用split()方法把字符串劈开为一个数组,该方法包含两个参数:
1:指定劈开的分隔符
2:指定返回数组的长度
var a = [1,2,3,4,5];
a = a.join("-");
var s = a.split("-");
document.write("s类型 = " + typeof(s) + "<br/>");
document.write("s的值 = " + s);
数组排序
使用reverse()方法可以颠倒数组元素的顺序。该方法是在元素组基础上进行操作的,不会新建数组。
var a = [1,2,3,4,5];
var a = a.reverse();
document.write(a);//输出[5,4,3,2,1]
sort方法能够对于数组中的元素进行排序,排序的方法通过其参数来决定。这个参数是一个比较两个元素值的闭包。如果省略参数,则sort()方法将默认的规则对数组进行排序。
var a = [3,2,5,1,4];
var f = function(x,y){return y - x;
};
var b = a.sort(f);
document.write(b);//输出[5,4,3,2,1]
连接数组
concat()方法能够把该方法中的参数追加到指定数组中,形成一个新的连接数组。
var a = [1,2,3,4,5];
var b = a.concat(4,5);
document.write(b); //输出[2,3,4,5,6,4,5]var a = [1,2,3,4,5];
var b = a.concat([4,5],[1,[2,3]]);
document.write(b);//输出[1,2,3,4,5,4,5,1,2,3]
截取子数组
slice()方法将返回数组中指定的片段,所谓片段就是数组中的一个子数组。
该方法包含两个参数,它们指定要返回子数组在原数组中的起止点:
1:指定的元素是被截取的范围之内
2:指定的元素不在被截取的范围之内
(左闭右开)
var a = [1,2,3,4,5,6,7,8,9];
var b = a.slice(2, 5);
document.write(b);//输出[3,4,5]
JS--JavaScript数组Array(join、split、reverse、concat、slice)详解相关推荐
- JS 数组 isAarray() typeof push() unshift() splice()替换/删除/插入 slice()切片 join() split() reverse concat
lianxuudadian isAarray() shift转移 unshift取消转移 push pop unshift shift splice 粘接 slice 切片 Join() s ...
- JavaScript数组的高级用法-reduce和reduceRight详解
2019独角兽企业重金招聘Python工程师标准>>> reduce 方法(升序) 语法: array1.reduce(callbackfn[, initialValue]) 参数 ...
- JS(javascript)中this的几种用法实例详解
本文主要介绍了javascript(以下简称js)中 this 用法,结合具体实例详细分析一下js中 this 的含义及使用方法,需要的朋友可以参考下. this 是 JavaScript 语言的一个 ...
- html5 截取字符串,JS截取字符串之substring、substr和slice详解
本文详细的介绍了JavaScript中substring().substr()和slice()三个js字符串截取的方法,substring()方法用于提取字符串中介于两个指定下标之间的字符.subst ...
- JS中数组(Array)、Json对象长度(length)获取方法
JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...
- js数组中foEach和map的用法详解 jq中的$.each和$.map
数组中foEach和map的用法详解 相同点: 1.都是循环遍历数组(仅仅是数组)中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项value, ...
- JavaScript(js)事件冒泡、事件捕获、事件委托详解
JavaScript(js)事件冒泡.事件捕获.事件委托详解 1.什么是事件 JavaScript和HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口发生的一些特定的交互瞬间.可以使用监听 ...
- java string()函数_转载java String.split()函数的用法详解
转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...
- 【JavaScript 教程】ES6 中的 Promise对象 详解
[JavaScript 教程]ES6 中的 Promise对象 详解 1.Promise对象含义 promise是异步编程的一种解决方法. 所谓promise,简单说是一个容器,里面保存着某个未来才会 ...
- javascript中的Base64.UTF8编码与解码详解
javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...
最新文章
- 简单粗暴告诉你什么是区块链
- 日志多租户架构下的Loki方案
- Go 语言:我那么值钱,我骄傲了吗?
- 联想B450系列安装XP且开启AHCI
- 计算机网络:网络设备知识笔记
- Mr.J--Vue之v-cloak
- java jpeg压缩算法_在创建JPEG时,我可以更改Java的ImageWriter使用的压缩算法吗?
- 把python37添加到环境变量配置_linux设置python环境变量 分类: python ...
- JDK+MyEclipse+Tomcat的配置(修改Tomcat 6.x的端口)
- Windows 8 Directx 开发学习笔记(八)要有光
- jquery on()绑定的点击事件在js动态新添加的元素上无效
- 标准c /c++宽字节与多字节的转换
- 用计算机编程解决土方调配,LINGO在土方调配计算问题应用.doc
- LiveData+Room
- Java 格式化xml字符串
- 3Dmax制作立体的文字教程
- EasyClick 易点云测 IOS版自动化测试工具
- CSSJS弹出层效果,兼容所有浏览器
- PowerApps 中管理本地数据网关
- 性能测试怎么监控服务器,性能测试篇 :Jmeter监控服务器性能