大纲

  • 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 工作必知(十一) 数组常用方法实现的更多相关文章

  1. JavaScript 工作必知(九)function 说起 闭包问题

    大纲 Function Caller 返回函数调用者 Callee 调用自身 作用域 闭包 function 函数格式 function getPrototyNames(o,/*optional*/ ...

  2. javaScript 工作必知(六) delete in instanceof

    in in 判断  左边 的字符串或者能转换成字符串的是否属于 右边 的属性. var data = { x: 1, y: 4 };//定义了直接对象 alert("x" in d ...

  3. javaScript 工作必知(三) String .的方法从何而来?

    String 我们知道javascript 包括:number,string,boolean,null,undefined 基本类型和Object 类型. 在我的认知中,方法属性应该是对象才可以具有的 ...

  4. javaScript 工作必知(五) eval 的使用

    eval eval(parse) parse :里面跟参数字符串,我们知道执行javascript 会编译执行,    改变全局变量的值: var x = 2; //定义的全局变量 alert(x); ...

  5. javascript 工作必知(四) 类型转换

    string和number boolean javascript 类型会根据赋值的进行转成相应的类型. var str = ""; alert(typeof (str));//st ...

  6. javaScript 工作必知(十) call apply bind

    call  每个func 都会继承call apply等方法. function print(mesage) { console.log(mesage); return mesage; } print ...

  7. javaScript 工作必知(八) 属性的特性 值、写、枚举、可配置

    属性的特性 每个对象都拥有属性,属性具有哪些特性呢? 1.属性具有值.  2.属性是否是可写的.            3.是否是可枚举的.            4.是否是可配置的.   " ...

  8. javaScript 工作必知(七) 对象继承

    对象继承inherit var o = { r: 1 }; var c = function f() { }; c.prototype = o; c.r = 3; alert(o.r);//被继承的属 ...

  9. javaScript 工作必知(二) null 和undefined

    null null 表示个“空” , 使用typeof (null) ;//Object ; 说明他是一个特殊的对象. null 类型只自己唯一个成员.他是不包含属性和方法的. undefined u ...

随机推荐

  1. android 动态库死机调试方法 .

    原地址:http://blog.csdn.net/andyhuabing/article/details/7074979 这两种方法都不是我发明了,都是网上一些高手公共出来的调试方法,无奈找不到出处的 ...

  2. FLASK实现上传下载功能

    #!-*-coding=utf-8-*- # from flask import Flask # # app = Flask(__name__) # # # @app.route('/') # def ...

  3. git日常使用

    git强制回滚指定版本git reset --hard xxx(版本名) git强制推送git push -f remote(远程地址) branch(远程分支) 查看远程分支 git branch ...

  4. Php 性能参数优化 及 Iptables 防火墙限制用户访问平率

    Php-Fpm.Conf 文件配置优化 [global] pid = run/php-fpm.pid process_control_timeout=5 [www] listen.allowed_cl ...

  5. cookie的初识和运用(js和jq)

    cookie是什么 cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是JavaScript本身 ...

  6. SQL Server ->> 自动创建表并从文件加载数据

    这个存储过程自动创建表并从文件加载数据. 有一点需要说明的是Excel 12.0驱动是兼容了Excel 97-2003和Excel 2007两者格式的Excel文件. CREATE PROCEDURE ...

  7. Java不带.classpath的svn项目下载,转成到eclipse中

    .classpath是Eclipse的工程文件,别人没有将工程的信息传到SVN库中,就检查不出.classpath文件,识别不了项目结构. 这种做法也是比较提倡的方法.SVN上只要有项目的源码信息就可 ...

  8. 无缓冲和带缓冲channel的区别

    常规定义的channel都是默认不带缓冲的,如下代码所示 package main import ( "fmt" ) func main() { c := make(chan in ...

  9. MYSQL 升序排序但值为0的排最后

    转载 http://blog.csdn.net/looksun/article/details/51445205 如一张表的数据如下: 需要根据gz列的值进行升序排序,但值为0的排在最后面,即最终结果 ...

  10. 基于NFS实现多WEB服务器负载均衡

    实现环境: 实现原理: 共四台服务器 A,B,C,D 服务器A (CentOS 6.7): IP地址: 192.168.3.67 角色: DNS服务 说明: 为两台web服务器做域名轮询 服务器B,C ...