JavaScript基础知识之Array类型(二)

1 数组操作方法

A. concat()方法,数组拼接或在数组基础上末尾添加数组项

var color=['red','blur','greed']
    col=['a','b']
    color2=color.concat('yellow','black')
    color3=color.concat(col)
    alert(color)  //red,blur,greed
    alert(color2) //red,blur,greed,yellow,black
    alert(color3) //red,blur,greed,a,b

注:concat()只是复制当前的数组并返回副本,不会影响原数组

B. slice()方法,获取取数组的一部分选项,1个或2个参数

var color=['red','blur','greed','black','yellow'];
    color2=color.slice(2);   //参数表述从数组第N个开始,例子:从第三个选项开始到末尾
    color3=color.slice(2,4)  //第一个参数表述从第N个开始,第2个参数表述结束位置、不包含本身
    alert(color2) //greed,black,yellow
    alert(color3) //greed,black

C. splice()方法{会改变原数组},主要用途像数组中部插入项,使用方式如下:

  1. 删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的数量。例如:splice(0,2) 会删除数组中的前两项
  2. 插入:可以插入任意数量的项,只需提供3个参数:起始位置、0(要删除的项数)、要插入的项。例如:splice(2,0,’red’,’good’)会在当前数组的位置2插入两项red,good
  3. 替换:可以向指定位置插入任意的项,并同时删除任意数量的项,只需指定3个参数:起始位置、要删除的选项、和要插入的任意数量的项,插入的数量不一定要与删除的项数相等。例如:splice(2,2,’red’)会删除当前数组位置2及3两项,然后再从位置2开始插入red
var color=['red','blur','greed','black','yellow'];
var removed=color.splice(0,1)   //删除第一项
    alert(color)   //blur,greed,black,yellow
    alert(removed) //red  ,返回被删除的数组

var add=color.splice(1,0,'good','bad')
    alert(color) //blur,good,bad,greed,black,yellow
    alert(add)  //返回一个空数组

var removed=color.splice(1,2,'good','bad'); 删除2项,插入两项
    alert(color) //red,good,bad,black,yellow
    alert(removed) //blur,greed ,返回被删除的数组  

2 位置方法

indexOf() 和lastIndexOf()

3.迭代方法(判断数组)

  • every():对数组每一项运行给定函数判断,如果每一项都为ture(满足条件),则返回ture,反之返回false
  • filter():对数组每一项运行给定函数判断,返回结果为ture(满足条件)的项,返回结果为一个数组。
  • forEach:对数组每一项运行给定函数判断。这个方法不返回值。
  • map:对数组每一项运行给定函数判断,返回调用函数返回的结果组成的数组。
  • some:对数组每一项运行给定函数判断,如果该函数任意一个返回ture,则结果返回ture,反之都为false,则返回false

    例:

var number=[1,2,3,5,6]
    everyResult=number.every(function(item,index,array){
        return item > 5;
    })
    alert(everyResult) //false  

    someResult=number.some(function(item,index,array){
        return item % 2 == 0;
    })
    alert(someResult) //ture

    filterResult=number.filter(function(item,index,array){
        return item % 2 == 0;
    })
    alert(filterResult) //2,6  返回满足条件的组数集合

    mapResult=number.map(function(item,index,array){
        return item * 2;
    })
    alert(mapResult)  // 2,4,6,10,12  返回所有结果组数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值