Javascript --数组

数组

数组中的每一项都可以保存任何类型的数据,比如字符串,对象等,并且大小是动态调整的,我们可以随意添加新项;创建方式:

var colors = new Array();

var colors = new Array("red","blue");


array.pop()   它是一个类似栈的方法,弹出最后进去的值,并且返回数组长度

array.push(s) 向数组尾添加一个数据

array.shift()    等效与队列,先进先出形式,弹出数组最先进去的值,并且作为返回值

array.unshift(s)向数组的前端插入数据


array.reverse() 对数组本身进行反转

array.sort()       对数组本身,进行先tostring()操作,然后比较字符串的大小,按从小到大的顺序赋给原数组

易错点:

var values = [0, 1, 5, 10, 15];
values.sort();
alert(values);          //[0, 1, 10, 15, 5] 注意不是按数值大小
array.concat(s) 它会先基于array,产生一个它的副本,然后把s跟他连上,返回一个连接好的对象

array.slice(1,4) 返回array[1]到array[4]中的值,不包括array[4]

array.join(",")     将数组转化为字符串,中间参数是分割符


spice 用法,主要是以参数为2和大于2分界

spice(0,2)  对自身删除前两项,并且返回删除的值

spice (start, step, &args)也是对自身处理, 其中step是删除的项数,当为0时表示在start位置直接插入,同时返回删除的值


对上面的sort方法还有一个扩展就是接受一个比较函数,来指明比较的标准。因为sort默认是<号,也就是前面的a,小于后面的b的话,就维持不变,否则颠倒过来,具体逻辑是如何的,见下面的自定义形式
a,b比较,如果方法返回-1或0,就维持不变,如果返回1的话就把a,b颠倒一下
function test(property){
    return function(a,b){
      var value1 = a[property];
      var value2 = b[property];
      if (value1 < value2){
        return -1;
       } else if (value1 > value2){
	  return 1;
	}else {
	  return 0;
	}	
    }
  }
  var data=[{name:"za",age:28},{name:"Ni", age:29}]

  data.sort(test("name"));      //设置函数他们按name的值来比较
  alert(data[0].name)           //输出Ni 

  data.sort(test("age"));       //设置函数他们按age的值来比较
  alert(data[0].name)           //输出za 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值