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 ...
随机推荐
- php浮点数加减乘除bug
项目测试阶段,少部分微信支付成功,但是在异步通知校对订单金额是否一致时,一直被认定订单金额不一致. 类似于: 浏览器输出: 分析: 因为计算机二进制无法准确表示部分浮点数(如2.03.0.58等等), ...
- javaScript删除对象、数组中的null、undefined、空对象、空数组方法
这两天在项目中遇到后台需要传的数据为不能有null,不能有空值,而这个数据又是一个庞大的对象,对组集合,所以写了个方法来解决这个问题.为了兼具所有的种类类型,封装了方法,代码如下: let obj = ...
- google搜索使用技巧
1.输入框所有空格都被理解为加号2.搜索多个单词时,需要加上引号,会当字符串处理3.使用-(减号)剔除指定条件,如:'mongdb'-'nodejs'4.可以使用通配符,如'vue *'5.在指定网站 ...
- 如何让div覆盖canvas元素
第一步 请让该div和canvas同样处于同一画布,都用position:absolute; 然后设置canvas的z-index="-1",是的,你没看错 然后把要覆盖canva ...
- Python爬虫教程-20-xml 简介
本篇简单介绍 xml 在python爬虫方面的使用,想要具体学习 xml 可以到 w3school 查看 xml 文档 xml 文档链接:http://www.w3school.com.cn/xmld ...
- C#性能优化实践(转载)
原文地址http://www.infoq.com/cn/articles/C-sharp-performance-optimization?utm_source=infoq&utm_mediu ...
- angular attrs.$observe和$scope.$watch的区别
http://stackoverflow.com/questions/14876112/difference-between-the-observe-and-watch-methods https:/ ...
- redis3.2.8安装与简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的 ...
- 一次查找sqlserver死锁的经历
查找bug是程序员的家常便饭,我身边的人喜欢让用户来重现问题.当然他们也会从正式服务器上下载错误log,然后尝试分析log,不过当错误不是那种不经思考就可识别的情况,他们就会将问题推向用户,甚至怪罪程 ...
- IEEP部署企业级网络工程-OSPF邻居关系故障排除
OSPF邻居关系故障-现象与排除 一.OSPF邻居关系故障-现象与排除 1.OSPF建立邻居关系时,将检验hello报文中的Area ID .Autype.Authentication.network ...