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 ...
随机推荐
- 获取指定包名下继承或者实现某接口的所有类(扫描文件目录和所有jar)
import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.net.JarURLCo ...
- Open Live Writer 安装和博客账号配置
打开Open Live Writer就像您的博客的Word一样.打开Live Writer是一个功能强大,轻量级的博客编辑器,允许您创建博客文章,添加照片和视频,然后发布到您的网站. Open Liv ...
- pyhton基础
python是一种什么语言?python是一种动态解释性的强类型定义的语言(1)编程语言分类 编译型: 把源程序的每一条语句都编译成机器语言,并保存成二进制文件, 这样运行时计算机可以直接以机器语言来 ...
- VC编程操作word2010生成表格
作者:朱金灿 来源:http://blog.csdn.net/clever101 一. 右键单击工程节点,然后选择添加类,如下图: 二. 添加TypeLib中的MFC类,如下图: 三. 选 ...
- ImageNet download
Download Original Images Note: On Feb 8, 2014, our terms of access changed along with the APIs/URLs ...
- klee源码阅读笔记1--STPBuilder类
初始化过程中四个数据成员中的两个数据成员被初始化: 一.vc被初始化为STP提供的C调用接口函数vc_createValidityChecker(): 二.optimizeDivides被初始化为fa ...
- 关于H5的自定义属性data-*
data-* 是H5的新属性,用来让开发者对标签添加自定义属性的. 其读写方式有如下几种: 如果是 data-abc 的格式,则采用正常格式 abc 来读写该属性值 <div id=" ...
- Java—进程与线程
进程与线程 进程是程序(任务)的执行过程,具有动态性:持有资源(共享内存.共享文件)和线程,是资源和线程的载体. 线程是系统中最小的执行单元,同一进程中有多个线程,线程共享进程的资源. 线程的交互,交 ...
- C++异常安全
转自:http://www.cnblogs.com/zgfLawliet/p/3417308.html 异常安全的代码是指,满足两个条件 1异常中立性 : 是指当你的代码(包括你调用的代码)引发异 ...
- Python零基础学习系列之四--Python程序设计思想
前面我们把Python环境安装成功,同时也选择了自己合适的IDE工具来开启自己的编程之旅. 那么今天来说说怎么编程,程序设计需要什么步骤,我们应该怎么做才能编写自己的程序. 1-1.程序设计方法: I ...