0
点赞
收藏
分享

微信扫一扫

js第六天 数组

zhaoxj0217 2022-01-17 阅读 82

数组 :一组数据有序的集合

数据属于引用数据类型,不属于基本数据类型

【1】创建数组

构造函数法

方式一:

var arr = new Array();/// 创建空数组,没有元素

方式二:

var arr = new Array(5);// 创建长度为5的数组,元素都是underfined

方式三:

var arr = new Array(5, 6, 7, 9);// 创建长度为4的数组,元素都是为5,6,7,9

字面量法:

方式四:

var arr = [];// 类似方式一

方式五:

var arr = [4, 52, 85, 54];// 类似方式三

【2】 数组的访问

     访问数组元素:数组名[下标]

    下标:元素所在的位置(0 ---到---总长-1(arr.length) )

    总长度arr.length

数组,2元素的遍历:将元素一一打印

var arr = [1,2,3,4,5,6]

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

    console.log(arr[i])

}

  /* 数组api:数组中给我们封装好具有特定功能的函数

    自定义函数:函数名

                函数功能

                函数的参数

                返回返回值

                函数体内部写逻辑

    会改变原数组

                1.push()

                语法:arr。push(元素1,元素2,。。。)

                含义:向数组的尾部追加一个或多个元素

                返回值:有,返回的追加完之后数组的长度

                2.pop()

                语法:arr.pop()

                含义:尾部删除一个

                返回值:有,删除的元素

                3.unshift()

                语法:arr.unshift()

                含义:向数组的头部追加一个或多个元素

                返回值:有,返回的追加完之后数组的长度

                4.shift()

                语法:arr.unshift()

                含义:向数组的头部删除一个或多个元素

                返回值:有,删除的元素

                5.reverse()

                语法:数组元素逆序:

                返回值:返回新的数组

                6.sort()

                数字排序,传递一个函数

                语法:arr.sort(function(a,b){returna-b})  从小到大排序

                      arr.sort(function(a,b){returnb-a})  从小到大排序

                7.splice()

                语法:arr.splice(开始下标,个数)

                语法:arr.splice(开始下标,个数。元素1,元素2,...)

                含义:从开始位置删除n个

                      从开始位置删除n个,新增元素1,2.。。

                返回值:把删除的元素返回

        不会改变原数组:

                1.concat()

                语法:arr.concat(arr1)

                作用:数组拼接

                返回值:拼接好的数组

                2、join()  (*****)

                语法arr.join('连接符')

                作用:将数组元素用连接符连接后,以字符串形式返回

                返回值:连接好的字符串

                3、indexOf() (*****)  

                vararr = [12,34,46,3]

                作用:查找元素首次出现的位置,

                返回值:找到了返回该元素的下标位置,找不到返回-1

                语法:arr.indexOf(元素)、

                arr.indexOf(元素,下标);从下标位置开始查找

                4、lastIndexOf()

                作用:从后向前查找元素首次出现的位置,

                返回值:找到了返回该元素的位置,找不到返回-1

                语法:arr.lastIndexOf(元素)

                arr.lastIndexOf(元素,下标);从下标位置开始查找

                5、slice():

                作用:从数组中切出来一个数组

                返回值:切出来的数组

                语法:arr.slice(开始位置,结束位置)   包左不包右

                var arr = [12,3,4,23,54]       arr.slice(1,3)---->[3,4,23]

 数组去重:

    // 思路:

    // 1.定义一个空数组 var nwar = []

    // 2.从arr数组中进行遍历

    // 判断nwar中是否包含遍历过的元素,如果不包含,就放nwar

    /* 第一遍历:12---》if(nwar.indexof(arr[i]==-1)){

     将元素放到nwar中

     第二遍历:12---》if(nwar.indexof(arr[i]==-1)){

     将元素放到nwar中

    } */

//     var arr = [12,43,2,12,34,2,2,]

//     var newarr = []

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

//         if(newarr.indexOf(arr[i])==-1){

//             newarr.push(arr[i])

//         }

//     }

// console.log(newarr)

二维数组:数组元素为数组

       var arr = [[12,21,54],[54,85,64,],[54,54,65],[585,5514,44]]

       双重for循环进行遍历,外层循环控制arr的元素,内层遍历一维数组内的数组

        随机函数:  Math.random()

        a-b范围内包含a或者b的随机函数:  parseInt(Math.random()*(b-a+1)+a)

随机函数

随机函数: Math.random()

 a-b范围内包含a或者b的随机函数: parseInt(Math.random()*(b-a+1)+a)

数组中是否包含某个元素

function has(arr, n) {

var res;

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

if (arr[i] == n) {

res = true;

break;

} else {

res = false;

}

}

returnres;

}

var arr = [21, 43, 56, 34, 12, 34, 60, 34, 2]

console.log(has(arr, 60))

举报

相关推荐

JS学习第六天

JS 学习第六天

rhcsa第六天

前端第六天

web第六天

开课第六天

第六天笔记

0 条评论