您的位置:首页 > Web前端 > JavaScript

javascript笔记(JavaScript_Core电子书)-数组对象

2012-05-10 00:00 489 查看
/**

* 数组Array

* 同一个数组中可以包含不同类型对象,数组下标从0开始

* concat() 连接俩个或更多数组,返回结果

* join() 把数组所有元素放入一个字符串。元素通过指定分隔符分隔。

* pop() 删除并返回数组的最后一个元素

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

* reverse() 颠倒数组中元素的顺序

* shift() 删除并返回数组的第一个元素

* slice() 从某个已有的数组返回选定的元素(截取),不影响原数组

* sort() 对数组的元素进行排序(默认是按照ASCII 字符顺序进行升序排列)

* splice() 删除元素,并向数组添加新元素

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

* valueOf() 返回数组对象的原始值

*/

//length属性(读/写)

var TestLen = new Array(1,2,3,4,5);

//alert(TestLen.length);

TestLen.length = 3;

//alert(TestLen); //超过length的元素舍弃

//数组下标可使用数字和字符串(作为对象属性来使用)

var TestIndex = new Array();

TestIndex['first'] = 'First Object';

TestIndex['second'] = 2;

TestIndex['third'] = new Date();

//alert(TestIndex.second+"*****"+TestIndex.third);

//数组声明

var array1 = new Array();// or var array1 = [];

var array2 = new Array("one","two","three","four","five");// or var array2 = ["one","two","three","four","five"];

//push在数组末尾添加数据

array1.push(1);

array1.push("1");

var Len=array1.push("a");

//alert(Len+"*****"+array1);

//unshift在数组开头添加数据

Len =array1.unshift(2);

//alert(Len+"*****"+array1);

//pop删除并返回数组最后一个元素

var arrayObj = array1.pop();

//alert(arrayObj+"*****"+array1);

//shift()删除并返回数组第一个元素

arrayObj = array1.shift();

//alert(arrayObj+"*****"+array1);

//join

var joinStr = array2.join("|");

//alert(joinStr);

//reverse

array2.reverse();

//alert(array2);

//concat

var bigArray = array1.concat(array2);

//alert(bigArray);

//slice(a,b),截取下标从a到b的的元素(包括a、不包括b);slice(a),截取下标从a到length的元素

var shortArray = bigArray.slice(2,5);

//alert(shortArray);

//splice(a,b),删除从a下标开始的b位长度元素(包括a)

bigArray.splice(1,6);

//alert(bigArray);

bigArray.splice(0,1,10,22,3,142,252,263); //从0下标开始,替换一个元素,并添加10-263的子数组到原数组

//alert(bigArray);

//sort(func)可传入一个函数作为排序依据(函数形式function(a,b),函数返回值大于0,则数组第一个元素a与第二个元素b对调位置--依次类推;小于等于0数组顺序不变)

//alert(bigArray.sort());

//alert(bigArray.sort(function(a,b){return a-b}));//顺序(从小到大)

//alert(bigArray.sort(function(a,b){return b-a}));//倒序

//alert(bigArray.sort(function(){return Math.random()>0.5?-1:1;})); //乱序

var searchArray=['df', 'rtr', 'wy', 'dafd', 'dfs', 'wefa', 'tyr', 'rty', 'rty', 'ryt', 'afds', 'wer', 'te'];

//alert(searchArray.sort(function(a,b){return a.indexOf('a')==-1?1:-1;})); //把包含a字符的元素都放在了数组前面(搜索)

//删除方法(自定义),remove(begin)时删除下标为begin的元素,remove(begin,end)时删除下标从begin到end的子数组(包括begin、end)

Array.prototype.remove = function(begin,end){

var rest = this.slice((end||begin)+1||this.length);

this.length = begin<0?this.length+begin:begin;

return this.push.apply(this,rest);

};

//searchArray.remove(3);

searchArray.remove(3,5);

//alert(searchArray);

//for遍历数组

//会遍历新加的原型属性(如remove)

for(var item in bigArray){

alert(bigArray[item]);

};

//Array.prototype.11= function(){return "cc";}; 为什么不能为数字?

//不会遍历新加的原型属性(属性名不为数字)

for(var i =0;i<bigArray.length;i++){

alert(bigArray[i]);

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js数组对象