09-JavaScript数组与类数组

一、数组

数组的定义:
  • 字面量
    var arr = [1,2,3] //常用写法
  • new Array( )
    new Array(10) //一个参数的情况下表示生成了一个长度为10的数组
    new Array(2,3,) // [2,3]
数组的方法
  1. 改变原数组的方法
  • pop
  • push
  • shift
  • unshift
  • splice
  • reverse
  • sort
  1. 不改变原数组的方法
  • concat
  • slice
  • join
  • split
  • toString
var arr = [1,2,3]
arr.pop()	//3 删除数组的最后一位,并返回该数值 此时 arr = [1,2]
arr.push(4,5,6) // 5 向数组的最后添加元素,并返回添加之后的数组长度 arr= [1,2,4,5,6]
arr.shift() 	// 1 删除数组的第一位,并返回该值 arr = [2,4,5,6]
arr.unshift(8,9) // 6 向数组的头部添加元素,并返回数组的长度 arr = [8,9,2,4,5,6]

splice方法

var arr = [1,2,3,4,5,6]
arr.splice(开始截取的索引,截取的个数,从截取开始位加入的元素)
arr.splice(0,1,2,3,4) //从下标为0的截取1个元素,并在开始截取的位置添加2,3,4 此时arr=[2,3,4,2,3,4,5,6]

reverse方法是翻转数组,就是讲数组逆序输出

var a = [1,2,3]
arr.reverse()//[3,2,1]

sort 排序

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。所以有时他并不会按照我们认知的数字大小去排列,这时我们就需要往里面传入一个参数

var arr =[2,5,20,78,3,6,7,10]
//升序
arr.sort(function(a,b){
   if(a>b){
      return 1;
   } else{
      return -1;  
   }
})

sort排序其实利用的就是冒泡排序的原理会循环比较两个值的大小然后进行位置的交换,规律:
当返回一个正值时,后面的数换到前面,相当于两数交换位置
当返回一个负值时,前面的数还在前面,两数位置不变

###二、类数组

类数组的定义:一种类似数组的对象,但是类数组不能直接调用数组的方法

var obj = {
  "2":"a",
  "3":"b",
  "length":2,
  "push":Array.prototype.push,
  "splice":Array.prototype.splice
}
像这样在类数组中添加对应属性,并将数组的方法赋值给它,就可以调用了

###三、代码模拟push方法

Array.prototype.myPush = function (){
	for (var i = 0; i < arguments.length;i++){
		this[this.length] = arguments[i];
	}
	return this.length;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值