前端学习笔记之——Array

1.Array

 

关于数组的声明方式:

(1)var Arr = new Array(3)//长度为3的空数组

(2)var Arr = new Array(1,2,3,4)//直接初始化

(3)var Arr = [1,2,3,4]//这样直接初始化也行.

注意:

读取数组时若超出范围则返回undefined.

关于Arr.length这个方法,若直接设置Arr[99]='x';时候该数组长度为100.

 

----------------数组的方法push();unshift();pop();shift()----------------

1.arrayObject.push(new1,new2,...)

把参数添加到对应的数组的后面

2.arrayObject.unshift();

把对应的参数添加到数组的前面.

上述方法均返回增删后的数组长度.

 

3.arrayObject.pop();

删除arrayObject的最后一个元素.

4.arrayObject.shift();

删除数组的第一个元素

上述两个方法返回增删的元素. 

 

--------------join();reverse();sort()-------------

1.arrayObject.join();

将数组中的所有元素放到一个字符串中.默认用逗号隔开,(" ")引号内可以添加分隔符(空白也行).

返回:字符串

2.reverse();

用于颠倒数组中元素的顺序.

返回:数组.

例:var a = ["a","b","c","d"];  a.reverse().join("");返回dcba.

3.arrayObejct.sort(sortby);

tips:(1)该函数会将数组的值转换成字符串,再进行比较

(2)sort()方法可以接收一个比较函数.

通过该函数对 数组进行升降序排列;

例:arr.sort.(function(a,b){ return a-b })//升序排列

     arr.sort.(function(a,b){ return b-a })//降序排列

      无论升降序,数组内有字符串会导致紊乱(暂时没去发现规律)

 

 

-------------------concat();slice();------------------------

1.concat();

连接两个或者多个数组.

返回数组.

arrayObject.concat(arr1,arr2);

或者直接声明数组arrayObject.concat(arr1,[1,2,3,"a"]);

2.slice()://截取

arrayObject.slicet(start,end);

返回:截取的数组

tips:(1)start(可以为负数),和end是指数组的索引值(也就是从0算起)

(2)截取从start到end(不包含该元素),即截取start到end-1的元素.

(3)如果start为负数的话,将数组总长度加上负数的值为 start的索引.

 

 

实例:将一个数组a拷贝至空数组b的方法

1.遍历

for(var i, i<a.length,i++){

    b.push(a[i]);

}

2.连接法

b=[].concat(a);

3.截取法,截取整个数组

b=a.slice(0);

 

-----------------------强大的splice();------------------

可以实现1.删除,2. 插入,3.替换

1.删除

arrayObject.splice(index,count)

index为起始位置,count为数量

删除从Index处开始的零个或者多个元素

返回:被删除的数组.

arr.splice(2,2)//从索引为2删除两个

 

2.插入

arrayObject.splice(index,0,item1,item2....itemx)

count为0,也就是不删除.然后插入

返回一个空数组(可以理解成,没删除不返回数组)

var a = arr.splice(1,0,"a","b","c");

 

3.替换

arrayObject.splice(index,count,item1,item2....itemx)

如果count不为0则返回对应删除的数组(元素).

即从index索引值开始删除count个元素,再添加item元素.

 

 

---------ES5新增的方法indexOf();lastIndexOf();-----------

1.arrayObject.indexOf(searchvalue,startIndex(可选))

功能:从startIndex(没设置就从头开始)开始查找value的位置

返回:在数组的位置(也就是索引值);若无返回-1;

低版本自己封装方法:

function( arr , value ){

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

 if(arr(i)===value){

return arr[i];

}

return -1;

}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值