数组函数的讲解及应用

本文详细介绍了JavaScript中的数组函数,包括concat合并数组、Array.isArray检测数组类型、pop、shift、push、unshift、splice、reverse、join和sort等,以及相关示例和练习题。
摘要由CSDN通过智能技术生成

     

上次我们学习了数组、数组取值、定义对象、循环对象及其部分应用。现在我们讲数组函数以及其练习题。 数组函数分为concat、isNaN、pop、push、shift、push、unshift、splice、reverse、join、分割函数和sort。

   concat:合并数组返回合并后的新数组。    新数组 =数组1.concat(数组2

例题:  var arr=[1,2,3];   var arr2=[5,6,7]     将其合并

答:var3=var2.concat(arr);     console.log(arr3) 

   Array.isArray(值): 检测是否是数组类型,返回bool类型 。   ==> Array.isArray

例:var arr = [1,2,3];    var arr2 = [5,6,7];   console.log(Array.isArray(arr))  ==>  true

  pop 删除数组中的最后一个元素,返回删除的元素值。 例:

var arr=[100,200,300,400]       var  i=arr.pop()     console.log(arr,i)    得==>[100,200,300] 返回400

shift:删除数组第一个元素,返回删除的元素值 例:var arr=[100,200,300,400] 

var ii = arr.shift();     console.log(arr,ii);    得==>   [200,300,400] 返回 100

push()  :数组元素最后添加值  返回添加后的数组的个数/长度  数组.push(数组1,数组2)

unshift() 往数组元素开头添加值,返回添加后的数组的长度。

splice   1.     () 删除指定的元素/在指定的位置添加元素,影响原数组,返回的是 删除的元素(数组类型)

数组名.splice(开始下标,删除的个数)   影响原数组  返回值是删除掉的数(数组类型) 

例:var i=arr.splice(2,) ==>从下标为2开始删除,删除2个   var arr = [1,2,3,4,5];

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

2.   数组名.splice(开始下标,0,值) 在开始下标位置前插入值,0  不删除,影响原数组  返回值为空数组[  ].   例: var arr = [1,2,3,4,5]; var ii =  arr.splice(0,0,66666)    console.log(arr,ii)  结果为[66666,1,2,3,4,5].

3.数组名.splice(开始下标,删除的个数,添加值)  影响原数组  返回删除的个数。 例var arr = [1,2,3,4,5];   var ii = arr.splice(2,2,777);   console.log(arr,ii)    结果为 [1,2,777,5]   返回值  [3,4]。

    reverse() 数组值  反转。返回一个新的数组  例:

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

join() 将数组元素拼接成字符串,默认通过逗号拼接,也可以通过指定的符号进行拼接

 var arr = [1,2,3,4,5];   var newArr = arr.join('-'); 得  1-2-3-4-5    var newArr = arr.join();得 1,2,3,4,5

分割数组   数组名.slice(开始下标,结束的下标(不包含))返回一个新的数组:分割的数组块

   var arr = ['a','b','c','d','e','f','g']    var ii = arr.slice(2,6)     console.log(arr,ii)  结果:[c,d,e,f]

sort() 排序  sort()数组元素值进行排序(数字、字母) 升序或降序  默认从小到大排序

数组、字符串、日期、数字、js函数  自定义函数function(){}   现在的排序,仍按照字符串的比较方式来进行排序的          // return a-b 升序      // return b-a 降序  

sort例题:按照工资从高到低排序

var arr = [{id:1,name:'zs',salary:2000},     {id:2,name:'ls',salary:5000},

 {id:3,name:'zsww',salary:14000},     {id:4,name:'zzls',salary:2000}    ]     arr.sort(function(a,b){                return b.salary-a.salary })                console.log(arr);   答案如下图

 接下来练习题如下:

  一、定义两个数组,然后将两个数组合并成一个新的数组

  答:

<script>
var arr =[1,'a','2',2,true,1000]
var arr2=[11,22,33,44,55];
var newArr =[];
for(var v of arr){
    newArr.push(v);
}
for(var v of arr2){
    newArr.push(v);
}
console.log(newArr)
</script>

二、循环for(循环5次)弹出5个输入框,让用户输入5个值prompt();将值保存到数组中push,检查5个值是否有长度length大于5的,如果if有超过5的将该值在数组中删除  数组.splice(开始下标,个数)

答:

<script>
var arr =[];
    for(var i=1;i<=3;i++){
        var v=prompt('输入要存储的值');
        arr.push(v);
    }
    for(var i=0;i<arr.length;i++){
        if(arr[i].length>5){
            arr.splice(i,2)
        }
    }
    console.log(arr)
</script>

三、定义一个数组,数组中存储10个值。

答:

<script>
  var arr=[100,20,200,30,400,50,70,80];
    var newArr =[]
    for(var i=0,i<arrr.length;i++){
        if(arr[i]>=100){
            arr.splice(i,1)
        }
        if(arr[i]<100){
            newArr.push(arr[i]-10)
        }
    }
    console.log(newArr)
</script>

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值