1、属性

a.length--设置或返回数组元素的数目

var a=[1,2,3,45,5];
alert(a.length=6) 结果:6
alert(a[5]) 结果:undefined

b.constructor--返回构造函数的引用

var test=new Array();
alert(test.constructor==Array); true

2、方法

a.删除或添加类

1.push()--向数组的末尾添加一个或更多元素,并返回新的长度

var a=[1,2,3,4,5];
alert(a.push('a','b')); 结果:7
alert(a); 结果:1,2,3,4,5,a,

2.unshift()--向数组的开头添加一个或更多元素,并返回新的长度

var a=[1,2,3,4,5];
alert(a.unshift('a','b')); 结果:7
alert(a); 结果:a,b,1,2,3,4,5

3.pop()--删除数组的最后一个元素,返回删除的元素

var a=[1,2,3,4,5];
alert(a.pop()); 结果:5
alert(a); 结果:1,2,3,4

4.shift()--删除数组的第一个元素,返回删除的元素

var a=[1,2,3,4,5];
alert(a.pop()); 结果:1
alert(a); 结果:2,3,4,5

5.splice(index,num,item1,.....itemX)--删除元素,并向数组添加新元素

  index    必需。从何处开始添加或删除,必须是数值类型(数组的下标)
  num    必需。规定了删除的个数,如果是0,则不删除
  item    可选。需要添加的元素,可以当作替换的元素

  如果有删除的元素,返回删除的元素;如果没有删除的元素,返回为空,添加的元素在index值前面

var a=[1,2,3,4,5];
alert(a.splice(0,1,'a','b')); 结果:1
alert(a); 结果:a,b,2,3,4,5

 b.数组的转换

join(separator)--将数组分割成字符串

  separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符,返回结果就是组合成的字符串

var a=[1,2,3,4,5];
alert(a.join('-')); 结果:1-2-3-4-5

 c.数组的分割

slice(start,end)--从某个已有的数组返回选定的元素

  start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

  end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

var a=[1,2,3,4,5];
alert(a.slice(1,4)); 结果:2,3,4
alert(a.slice(-4,-1)); 结果:2,3,4
alert(a.slice(-2)); 结果:4,5

不包括,end值的元素

d.排序(冒泡排序)

sort(sortby)    对数组的元素进行排序

  sortby:可选。规定排序顺序。必须是函数。如果没有参数,则按照字母的编码进行排序.

sortby会提供两个参数(a,b)
a<b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值
a=b,则返回 0。
a>b,则返回一个大于 0 的值

var a=[1,2,3,22,5];
alert(a.sort()); 结果:1,2,22,3,5
alert(a.sort(function(a,b){return b-a})); 结果:22,5,3,2,1
alert(a.sort(function(a,b){return a-b})); 结果:1,2,3,5,22

f.数组的连接

concat()--连接两个或更多的数组,并返回结果,对原数组没有任何影响

var a=[1,2,3,22,5];
var b=['a','b','c'];
alert(a.concat(b)); 结果:1,2,3,22,5,a,b,c

代码实践:

----------------冒泡排序--------------
var a=[34,13,8,22,5];
function arrsort(){
for(var i=0;i<=this.length;i++){
for(var j=0;j<=this.length-1;j++){
var aa=this[j];
if(this[j]<this[j+1]){
this[j]=this[j+1];
this[j+1]=aa;
}
}
}
return this;
}
Array.prototype.arrSort=arrsort;
alert(a.arrSort()); 结果:34,22,13,8,5
-----------------删除数组的重复元素--------------
var a=[34,13,22,22,5,'aa','aa'];
function arrsort(){
for(var i=0;i<=this.length;i++){
for(var j=0;j<=this.length-1;j++){
if(this[j]===this[j+1]){
this.splice(j,1);
}
}
}
return this;
}
Array.prototype.arrSort=arrsort;
alert(a.arrSort()); 结果:34,13,22,5,aa

javascript笔记整理(数组对象)的更多相关文章

  1. javascript笔记整理(对象遍历封装继承)

    一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...

  2. javascript笔记整理(对象的继承顺序、分类)

    Object.prototype.say=function(){ alert("我是顶层的方法"); } children.prototype=new parent(); pare ...

  3. javascript笔记整理(对象基础)

    一.名词解释 1.基于对象(一切皆对象,以对象的概念来编程) 2.面向对象编程(Object Oriented Programming,OOP) A.对象(JavaScript 中的所有事物都是对象) ...

  4. 运维开发笔记整理-QueryDict对象

    运维开发笔记整理-QueryDict对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 客户端发送数据请求有很多种,相信运维人员已经很清楚了,如果不太清楚的话可以参考我之前的学习笔 ...

  5. 运维开发笔记整理-JsonResponse对象

    运维开发笔记整理-JsonResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用HttpResponse发送json格式的数据 1>.HttpRespo ...

  6. 运维开发笔记整理-Request对象与Response对象

    运维开发笔记整理-Request对象与HttpResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.request对象 1>.什么是request 首先,我 ...

  7. javascript中的数组对象

    1.创建数组的三种方式: 1.1 var 数组名=[元素1,元素2,元素3...]; 例如: var arr1=[1,2,3,4]; 1.2 var 数组名=new Array(元素1,元素2,元素3 ...

  8. javascript:类数组 -- 对象

    在javascript中,对象与数组都是这门语言的原生规范中的基本数据类型,处于并列的位置. 类数组:本质是一个对象,只是这个 对象  的属性有点特殊,模拟出数组的一些特性. 一般来说,如果我们有一个 ...

  9. JavaScript中Array(数组) 对象

    JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...

  10. JavaScript深入之类数组对象与arguments(转载)

    类数组对象 所谓的类数组对象: 拥有一个 length 属性和若干索引属性的对象 举个例子: var array = ['name', 'age', 'sex']; var arrayLike = { ...

随机推荐

  1. MySql 初次安装登陆

    名称:随便写 服务器:127.0.0.1或者localhost 端口:在安装mysql应该看到是3306 用户:root 密码:(默认的是空,如果你设置过自己应该知道) 其他就可以不用设置

  2. yii配置

    一.在config/web.php中添加如下代码(开启debug工具和gii工具) if (YII_ENV_DEV) { // configuration adjustments for 'dev' ...

  3. 分支-15. 日K蜡烛图(15)

    #include<iostream> using namespace std; int main(){ float o,h,l,c; while(cin>>o>>h ...

  4. hibernate Criteria查询 2.3

    Criteria对象提供了一种面向对象的方式查询数据库.Criteria对象需要使用Session对象来获得一个Criteria对象表示对一个持久化类的查询 查询所有 Session session ...

  5. Hadoop Hive与Hbase整合+thrift

    Hadoop Hive与Hbase整合+thrift 1.  简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句 ...

  6. ThinkPHP - 扩展个人类库 - 以验证码类为例子

    首先,在项目目录下创建Class文件夹,用于存储个人类文件. 之后建立Data目录存放所需字体文件,其他的数据也可以放在这个文件夹下. 然后再Conf文件夹下创建verify.php配置文件. 在co ...

  7. 动态规划---最长上升子序列问题(O(nlogn),O(n^2))

    LIS(Longest Increasing Subsequence)最长上升子序列 或者 最长不下降子序列.很基础的题目,有两种算法,复杂度分别为O(n*logn)和O(n^2) . ******* ...

  8. 怎样让jQuery和其它js库共存

    怎样让jQuery和其它js库共存 有时候需要同时使用jQuery和其它javascript,比如在joomla中默认的是motools,但很多人还是希 望能够使用jQuery,如果直接调用的话,由于 ...

  9. 树莓派常用Linux命令

    转自小五义 1.ls命令:列出文件目录的常用命令,主要参数见下表. -a 列出目录下的所有文件,包括以.开头的隐含文件. -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列 ...

  10. 【集训笔记】母函数【母函数模板】【HDOJ1028【HDOJ1085

    以下资料摘自 http://www.cnblogs.com/wally/archive/2012/07/13/hdu1028_1085_1171_.html 生成函数是说,构造这么一个多项式函数g(x ...