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

/**
 * 数组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]);
};

转载于:https://my.oschina.net/u/150107/blog/56970

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值