笔记:JS常用数组API

API:应用程序接口,数组API即提供给我们的功能,根据要求可以使用

1.Array.isArray()     

  判断是不是数组(HTML5新增)返回值为布尔类型值返回类型:Boolean

布尔类型值=Array.isArray(变量)

        var a=[1,2,3,4,5];
        var b=12345;
        console.log(Array.isArray(a));
        console.log(Array.isArray(b));

2.join(变量)   

用字符把数组每项连起来变成字符串 返回更改完成的字符串 

字符串=数组.join(变量)

        var arr=["⚆_⚆","⚆_⚆","⚆_⚆"]
        console.log(arr.join("つ♡⊂"));

如果没有传变量,会用逗号(,)将数组内容分隔开

        console.log(arr.join());

如果我们想要得到的字符串没有间隙 那么我们传入的变量就为空字符串

        console.log(arr.join(""));

3.push(元素)    

在数组的最后面插入项,返回数组的长度

数组被改后的长度=数组.push(元素)

        var arr=['周杰伦','蔡依林','孙燕姿']
        console.log(arr.push('哎呦你干嘛'));
        console.log(arr);

 我们先打印的是返回值为数组完成修改后的数组长度,后面打印修改完的数组

4.unshift(元素)   

unshift是为数组最前面插入项,返回数组的长度

数组被改后的长度=数组.unshift(元素)

5.pop()    

pop是取出数组的最后一项,返回数组的最后一项(即取出的项)

被删除的元素=数组.pop()

        var arr=['慧慧','海胆','电钻慧慧zerzer']
        console.log(arr.pop());
        console.log(arr);

6.shift()   

shift取出数组第一个元素,返回第一项,与pop类似

被删除的元素=数组.shift()

7.reverse()    

reverse的作用是翻转数组 返回翻转后的数组

翻转后的数组=数组.reverse()

        var arr=[1,2,3,4,5]
        console.log(arr);
        console.log(arr.reverse());
        console.log(arr);

8.sort(参数)   

sort为数组排序,返回排序后的数组,如何排序看参数如何

数组.sort(function(a,b){

     return a-b;

})

        var arr=[1,1001,200,400,0.5]
        console.log(arr);
        console.log(arr.sort(function(a,b){
            return a-b
        }));

 

1>.如果sort没有传入参数,则会按照数组元素的首字符对应的Unicode编码值从小到大排列数组元素

2>.参数:必须为函数 ,函数中带有两个参数,代表数组中的前后元素。

return a-b为从小到大排序,return b-a为从大到小排序

9.concat(参数) 

把参数拼接到当前数组

新数组=数组1.concat(数组2) 不修改原数组,生成新的数组

        var arr1=["蔡徐坤","陈立农","范丞丞"]
        var arr2=["喜羊羊","美羊羊","沸羊羊"]
        var arr3=arr1.concat(arr2)
        console.log(arr3);

10.slice(参数,参数)

从当前位置截取新的数组,不影响原来的数组

新数组=数组1.slice(索引1,索引2)

        var arr1=["ez","不收徒","转人工","扣1送地狱火","叫你家大人来","撒米让鸡来","****","触摸板玩的","e3局送四千七","没开显示器"]
        var arr2=arr1.slice(1,4)
        console.log(arr1)
        console.log(arr2);

1>.参数1从0开始,参数2从1开始

2>.包左不包右,得到的数组有索引1的元素,不包含索引2的元素

3>.如果起始索引大于结束索引,得到空数组

4>.如果只传一个索引参数,得到的数组会从该索引的元素截取直到最后一个元素

11.splice(参数,参数)

删除或替换数组的某些项目  会修改原数组

新数组=数组1.splice(起始索引,个数,替换内容)

我们只传两个参数时(起始索引,个数) 与slice都有截取数组的效果

spliceslice
第二个索引为截取数组长度第二个索引为截取数组的终止索引
改变原数组不会改变原数组,截取的为新数组

 

        var arr1=["蝴蝶刀","爪子刀","M9","刺刀","尼泊尔","短剑","流浪者匕首","锯齿爪刀"]
        console.log(arr1);
        var arr2=arr1.splice(1,3)
        console.log(arr1);
        console.log(arr2);

传三个参数时,第三个参数为你想要替换的内容

        var arr1=["蝴蝶刀","爪子刀","M9","刺刀","尼泊尔","短剑","流浪者匕首","锯齿爪刀"]
        console.log(arr1);
        var arr2=arr1.splice(1,3,"apex1=2")
        console.log(arr1);
        console.log(arr2);

如果只传一个索引参数,得到的数组会从该索引的元素截取直到最后一个元素

12.indexOf()

查找元素,返回数组中目标元素的索引,如果没有则返回-1

索引值=数组.indexOf(元素)

        var arr=["羊","牛","鸭","坤","鹅"]
        console.log(arr);
        console.log(arr.indexOf("坤"));

13.lastIndexOf()

查找元素,与indexOf不同的是,indexOf是从前往后找,lastIndexOf是从后往前找,但本质上是返回索引,返回的值当相同
        var arr=["羊","牛","鸭","坤","鹅"]
        console.log(arr);
        // console.log(arr.indexOf("坤"));
        console.log(arr.lastIndexOf("坤"));

14.every() 

遍历数组 一假即假

 boolean=数组.every(function(item,index,arr){

//程序和返回值

})

        var arr=[234,6,2344,3421,43,567]
        var bool =arr.every(function(item,index,arr){
            console.log("遍历");
            if(item>20){
                return true
            }
            return false
        })
        console.log(bool);

 

every参数中的函数对应的参数:(filter,forEach,map,some同every一样)

itemindexarr
每一个位置的值索引数组本身

这些迭代方法都不会修改原数组

every():如果每一次遍历都返回true 那么整体返回true ,如果有一次返回的是false ,那么遍历停止返回false

15.filter()

遍历数组 筛选

新数组=原数组.every(function(item,index,arr){

//程序和返回值

})

filter():返回值为当此循环遍历之后返回值为true的元素组成的数组(筛选)

        var arr=[234,6,2344,3421,43,567]
        var bool =arr.filter(function(item,index,arr){
            console.log("遍历");
            if(item>20){
                return true
            }
            return false
        })
        console.log(arr);
        console.log(bool);

程序筛选出大于20的项

16.forEach()

遍历数组 for循环

无=原数组.every(function(item,index,arr){

//程序和返回值

})

        var arr=[234,6,2344,3421,43,567]
        var bool =arr.forEach(function(item,index,arr){
            console.log("遍历");
            if(item>20){
                return true
            }
            return false
        })
        console.log(arr);
        console.log(bool);

可以看出forEach的返回值为undefined forEach就没有任何含义,相当于一个for循环

17. map() 

遍历数组

新数组=原数组.every(function(item,index,arr){

//程序和返回值

})

map()将每一次遍历的返回值组成一个新的数组

        var arr=[234,6,2344,3421,43,567]
        var bool =arr.map(function(item,index,arr){
            console.log("遍历");
            if(item>20){
                return true
            }
            return false
        })
        console.log(arr);
        console.log(bool);

18.some()

遍历数组 一真即真

boolean=原数组.every(function(item,index,arr){

//程序和返回值

})

        var arr=[234,6,2344,3421,43,567]
        var bool =arr.some(function(item,index,arr){
            console.log("遍历");
            if(item>20){
                return true
            }
            return false
        })
        console.log(arr);
        console.log(bool);

some()与every()相似 不同的是some如果每一次遍历都返回false 那么整体返回false ,如果有一次返回的是true,那么遍历停止返回true

19.valueOf()

返回数组对象本身

数组本身=数组.valueOf()

程序底层需要用到的方法,我们基本用不到(也许吧,手动擦汗)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值