数组的常用方法/JS二

对象继承自object      Array  数组     Function  函数(函数也是继承自object)

数组:逻辑关系  线性关系(一个下标对应一个值)

           存储关系  连续的(数组名字保存的是首地址)

           有利于存取,不利于删除和插入

           数组动态扩充,可以存放任何数据类型

定义数组


(1)构造数组
    var arr=new Array(10)  构造空间为10的数组
    arr[0]=12;
    arr[1]='12123'
    arr=['1','as','asd',new.Object(){},45,[12,23]]
没有放入数据的地方会默认填充undefined来占位置。

(2).糖衣法 简单写法
var arr=['1','as','asd',new.Object(){},45,[12,23]]

数组的常用方法

1.arr.length 求数组长度(长度也是动态)

取出数组第三个元素:arr[2]
存数据      arr[57]='123'

代码示例如下:

求[12,23,45,67,11,24]的平均值:
 

var arr=[12,23,45,67,11,24]
var sum=0
for (var i =0;i<arr.length;i++){
    sum+=arr[i]
}
alert(sum)
<script>
    var arr=[12,23,45,67,11,24]
    var max=arr[0]
    var min=arr[0]
    for(var i=1;i<arr.length;i++){
        if (arr[i]>max){
            max=arr[i]
            max_index=i
        }
        if (arr[i]<min){
            min=arr[i]
            min_index=i
        }
    }
    console.log(min,max,max_index,min_index)
    alert(min)
    alert(max)
</script>


2.array.concat()方法:数组拼接
var a=[1,2,3]
a.concat([4,5])
a.concat([6,7,[4,5,6]])

不要拿小数验证小数,不要拿NaN验证  NaN===NaN

3.array.join()
转换成字符串,不加参数变成字符串默认加逗号

4.pop()删除并拿到数组最后一个元素,返回值为删除的那个元素,弹栈
a.pop()
5.push() 压入到数组的尾部
a.push()

6.a.reverse()  反转列表

7.array.shift()  对应队列  功能 移除队列的头部 数组的第一个元素
返回值数组原来的第一个元素
参数:无参
var a=[1,[2,3],4]
a.shift();   返回1

8.unshift
把值加到头部
var a=[1,[2,3],4]
a.unshift([5,6,7])  结果为[[5,6,7],1,[2,3],4]

9.slice() 截取数组
a.slice(start,end)  左闭右开  返回值:新数组
var a=[1,2,3,4,5,6]
var b=a.slice(-4,-1)   结果为[3,4,5],从左往右截取,不要从右往左截取

10.sort()排序
a.sort()

sort的使用方法如下:

    var arr=[
        {
            name:'LiLi',
            year:48,
            salary:3500
        },
        {
            name:'XiaoFang',
            year:80,
            salary:6000

        },
        {
            name:'Wang',
            year:37,
            salary:125000

        },
    ];
    //比较函数  为了给sort提供信息
    function compare(a,b) {
        return a.year-b.year; //year改为age就按照age排序,从小到大排,return b.year-a.year;  从大到小排
    }
    // function compare(a,b) {
    //     return a.name.localeCompare(); //按照name排序
    // }

    var obj=arr.sort(compare)  //调用函数
    console.log(obj)

    for (var index in obj){
        console.log(index)
    }

结果为:

11.splice(start,deleteCount,value) 删除和插入的下标,删除的个数,插入的数据
插入,删除

删除:需要开始下标,和删除个数
  var arr=[1,2,3,4,5]
    arr.splice(1,3)

插入 第二个参数一定要写
var v=arr.splice(2,0,'456','edf')

<script>
    var arr=[1,2,3,4,5]
    arr.splice(1,3)
</script>

代码如下:

<script>
    <!--
    插入与删除
    -->
    var a=[1,2,3,4,5]
    var b=a.splice(1,3,34,56)//第一个参数是位置,第二个参数是0是插入,不是0就是删除,第三个及以后的是插入的数值
    console.log(a)
    a.toString()
    console.log(a)
</script>

结果如下:

猜你喜欢

转载自blog.csdn.net/qq_39112101/article/details/88818288
今日推荐