javaScript 工作必知(十一) 数组常用方法实现
大纲
Array
join
reverse反转
sort排序
concat 拼接
slice
splice
数组
//定义数组
var a = [];
//使用Array定义一个数组,
var a1 = new Array(1);
//模仿多维数组
a1[0] = new Array(1);
a1[0][0] = 1;
a.push(1);//添加数组
alert(0 in a);//true
var b = a.pop();//读出元素,并删除a数组元素。
alert(0 in a);//false
a.push(2);
delete a[0];//删除属性
alert(0 in a);//false
join
将数组转成字符串,如果不指定链接方式,默认是,
var a = [1, 2, 3];
var str = a.join();
var str1 = a.join("<>");
alert(str);//1,2,3
alert(str1);//1<>2<>3
reverse 反转
将数组的元素进行反转,改变原来数组的元素顺序,不是创建新的数组。如:
var a = [1, 2, 3];
a.reverse();
var str = a.join();
alert(str);//3,2,1
sort排序
var a = [3, 5, 9, 1, 6];
a.sort();//默认是按字符顺序排序的
for (var i = 0; i < a.length; i++) {
alert(a[i]);
}//1,3,5,6,9
a.sort(function (a, b) { return b-a;})
//添加
for (var i = 0; i < a.length; i++) {
alert(a[i]);
}//9,6,5,3,1
sort 排序,如果默认则是按照字母表顺序排序,如果按照自己方式排序,必须给一个匿名函数,假设一个参数在前,则返回一个小于0 的值,假设一个参数在后,则返回一个大于0的值。
concat拼接
concat 拼接数组,并不改变原数组,返回一个新数组,也不改变拼接数组结构。
var a = [1, 2, 3];
var o = [3, 4, 5];
var c = a.concat(o);
alert(a.join());//1,2,3
alert(o.join());//3,4,5
alert(c.join());//1,2,3,3,4,5
slice
返回一段数组。slice函数中开始位置包括第一个参数,但不包括第二个参数,。
-1 表示是数组元素最后一个元素,一次类推。不改变原数组。
var a = [1, 2, 3];
a.slice(0, 2);//1,2
a.slice(1);//2,3
a.slice(-1);//3
a.slice(-2, -1);//2
splice
splice 插入或删除元素,改变原数组。
第一个参数表示删除的位置起始点,
第二个参数表示删除元数的个数,
第三个参数或任意个表示插入的元素。注意,这时第一个参数同时也表示插入的元素的位置。
var a = [1, 2, 3, 4, 5];
alert(a.splice(1, 2).join());//2,3 a=[1,4,5]
alert(a.splice(1).join());//4,5 a=[1];
alert(a.splice(-1, 1).join()); 1 a=[];
var o = [2, 4];
o.splice(2, 0, 1, 2)// 删除[] o=[2,4,1,2];
alert(o.join());
o.splice(2, 0, [3,[12,32], 2], 4).join()//删除[] o=[2,4,[3,[12,32],2],3,1,2
alert(o.join());
javaScript 工作必知(十一) 数组常用方法实现的更多相关文章
- JavaScript 工作必知(九)function 说起 闭包问题
大纲 Function Caller 返回函数调用者 Callee 调用自身 作用域 闭包 function 函数格式 function getPrototyNames(o,/*optional*/ ...
- javaScript 工作必知(六) delete in instanceof
in in 判断 左边 的字符串或者能转换成字符串的是否属于 右边 的属性. var data = { x: 1, y: 4 };//定义了直接对象 alert("x" in d ...
- javaScript 工作必知(三) String .的方法从何而来?
String 我们知道javascript 包括:number,string,boolean,null,undefined 基本类型和Object 类型. 在我的认知中,方法属性应该是对象才可以具有的 ...
- javaScript 工作必知(五) eval 的使用
eval eval(parse) parse :里面跟参数字符串,我们知道执行javascript 会编译执行, 改变全局变量的值: var x = 2; //定义的全局变量 alert(x); ...
- javascript 工作必知(四) 类型转换
string和number boolean javascript 类型会根据赋值的进行转成相应的类型. var str = ""; alert(typeof (str));//st ...
- javaScript 工作必知(十) call apply bind
call 每个func 都会继承call apply等方法. function print(mesage) { console.log(mesage); return mesage; } print ...
- javaScript 工作必知(八) 属性的特性 值、写、枚举、可配置
属性的特性 每个对象都拥有属性,属性具有哪些特性呢? 1.属性具有值. 2.属性是否是可写的. 3.是否是可枚举的. 4.是否是可配置的. " ...
- javaScript 工作必知(七) 对象继承
对象继承inherit var o = { r: 1 }; var c = function f() { }; c.prototype = o; c.r = 3; alert(o.r);//被继承的属 ...
- javaScript 工作必知(二) null 和undefined
null null 表示个“空” , 使用typeof (null) ;//Object ; 说明他是一个特殊的对象. null 类型只自己唯一个成员.他是不包含属性和方法的. undefined u ...
随机推荐
- Heka 的 CMake 编译配置分析
CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件. CMakeLists.txt 的语法比较简单,由命令.注释和 ...
- 全面理解Java内存模型(JMM)及volatile关键字(转)
原文地址:全面理解Java内存模型(JMM)及volatile关键字 关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型( ...
- Java 8 读取文件
以前的Java版本中读取文件非常繁琐,现在比较简单.使用Java8的Files以及Lambda,几句代码就可以搞定. public static String getXml() { StringBuf ...
- child_process
child_process const { spawn } = require('child_process'); const ls = spawn('ls', ['-lh', '/usr']); l ...
- javaweb servlet jsp简单笔记
第二章: 1: web 俗称 : 万维网 www 2: web开发 的三大核心: HTML(网页) ,URL(定位),HTTP:(协议) 页面的分类: 静态页面: html+css 动态页面:jsp ...
- Dockerfile定制镜像
一.Dockerfile是什么? 镜像定制实质就是定制每一层所添加的配置.文件. Dockerfile就是一个脚本来构建和定制镜像,把每一层的修改.安装.构建.操作都写入脚本.以此来解决体积.镜像构建 ...
- 【Python】安装配置Anaconda
优点:解决Python 库依赖问题 清华安装镜像 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
- Elk and nginx and redis 干货
ELKStack ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,ngin ...
- Sql Server 如何去掉内容里面的Html标签
DECLARE @str NVARCHAR(MAX)= ' <!DOCTYPE html> <html> <head> </head> <body ...
- python IO 文件读写
IO 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题. 如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这100M数据可 ...