js中的数组方法和循环

 一、js中数组的构建方式

        new  Array(元素个数)        Array(3)代表内部有三个数组,注意:在运行时,会根据内容的变化自动扩展或缩小

        new Array(元素值,元素值)        元素值是想要定义的数组内容以及元素个数。

        [  ]    字面量创建数组。

    <script>
        // 定义数组的三种方式 new  Array(元素个数) 会自动扩展。
        let arr = new Array(3)
        arr[0] = "今天星期一";
        arr[1] = "今天星期五";
        // new Array(元素值)
        let arr = new Array("今天星期四","明天星期五");
        //字面量 创建数组
        let arr = ["今天星期四","明天星期五"];
    </script>

二、js中的数组方法

        flat()                对数组进行降维处理,得到一个新的数组,更高维数组时()内赋予降维次数;

        push()             向数组末尾追加元素;

        pop()               只能删除数组末尾的一个元素;

        unshift()          在数组头部追加元素;

        shift()              只能删除数组首位的一个元素 ;

        splice()           删除任意位置元素        (删除位置,删除个数);

        splice()          修改任意位置元素        (修改位置,修改个数,修改后的元素);

        join()              将数组以指定字符转换为字符串;

        sort()             数组排序;

        concat()        合并数组;

        length()         返回或者设置数组元素个数;

        filter()            返回数组中满足条件的所有元素        【过滤器】;

        find()             返回数组中满足条件的第一个元素;

        findIndex()    返回数组中满足条件的第一个元素的下标;

        includes()     判断数组中是否有满足条件的元素,有返回true,没有返回false;

        every()          判断数组中的所有元素是否都满足条件,有返回true,没有返回false;&&;

        some()          判断数组中的是否有元素满足条件,有返回true,没有返回false;||;

三、js中的循环

        for()    循环     样式:for(初始值;循环条件;循环方式){输出}

        while()      循环   样式:初始值  while(循环条件){输出;  循环方式}

        do  while()   循环    样式:初始值   do{输出;  循环方式}   while(循环条件)

        for   (of)      循环    样式:for(数组内的元素/值 of 循环的数组){输出}

        for   (in)     循环    样式:for(数组下标  in 循环的数组){输出}

        forEach()     数组方法    样式:循环的数组.forEach(function(值,下标,老数组){输出})

        map()     数组方法   有返回值    样式:新定义数组 = 循环的数组.map(function(值,下标,老数组){输出  if(当下标为零时){数组值 = 新定义数组} return[数组值] })

        flatMap()    数组方法  有返回值  样式:新定义数组 = 循环的数组.flatMap(function(值,下标,老数组){输出  if(当下标为零时){数组值 = 新定义数组} return[数组值] })

注意: for() 【已知条件,已知范围】 先判断,后执行;

           while() 【未知条件,未知范围】   先判断,后执行;

           do while() 【至少执行一次】 先执行,后判断;for  (of)   值 / value / 元素  【循环遍历数组】; 

           for  (in)   下标 / key / 键;forEach 数组方法  匿名回调函数  先接收值,后接收下标,oldarr表示原始数组 ;

           map() 数组方法 有返回值,返回了一个新的和老数组长度一定一致的数组,新数组有可能是二维数组;

            flatMap() 数组方法 有返回值,返回了一个新的和老数组长度有可能不一致的数组,新数组一定是一维数组。

//1. for()      【已知条件,已知范围】      先判断,后执行
    for(i=0;i<arr.length;i++){
        document.write(arr[i]+"<br/>");
    } 
//2.  while()     【未知条件,未知范围】   先判断,后执行
    let i = 0;
    while(i<arr.length){
        document.write(arr[i]+"<br/>");
        i++;
    } 
//3. do while()    【至少执行一次】   先执行,后判断
    let i = 0;
    do{
        document.write(arr[i]+"<br/>");
        i++;
    }
    while(i<arr.length);
//4.  for  (of)     值 / value / 元素  【循环遍历数组】
    for(let value of arr){
        document.write(value+"<br/>");
    } 
//5.  for  (in)    下标 / key / 键
    for(let i in arr){
        document.write(arr[i]+"<br/>");
    } 
//6. forEach 数组方法  匿名回调函数  数组名.forEach(function(value,intex){} 【循环遍历数组】 先接收值,后接收下标,oldarr表示原始数组
    arr.forEach(function(value,intex,oldarr){
        document.write(intex+"----"+value+"----"+oldarr+"<br/>");
    });
//7. map() 数组方法 有返回值,返回了一个新的和老数组长度一定一致的数组,新数组有可能是二维数组
    let newarr = arr.map(function(value,intex,oldarr){
        document.write(intex+"----"+value+"----"+oldarr+"<br/>");
        if(intex == 0){
            value = "new"; 
        }
        return [value];  // [value]  是二维数组    [value + intex] 数组长度不会增加
    });
//8. flatMap() 数组方法 有返回值,返回了一个新的和老数组长度有可能不一致的数组,新数组一定是一维数组
    let newarr = arr.flatMap(function(value,intex,oldarr){
        document.write(intex+"----"+value+"----"+oldarr+"<br/>");
        if(intex == 0){
            value = "new";
        }
        return [value]; // [value]  还是一维数组    [value + intex] 数组长度增加
    });

        扩展:length 用来查看字符串的长度或数组的元素个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值