javascript数组小知识


 数组小知识

 pop()

例子:

    var aar = ['a','b'];

    aar.pop();//移除最后一项,返回移除项

push()

例子:

    var aar = ['a','b'];

    aar.push('d','c');  //添加到数组末尾,返回修改后数组长度

shift()

例子:

    var aar = ['a','b'];

    aar.shift();//移除第一项,返回移除项

unshift()

例子:

    var aar = ['a','b'];

    aar.unshift('c','s');//添加到数组前面,返回修改后数组长度

conact()

例子:

    var aar = ['a','b'];

    aar.conact('c');//连接数组  生成新的数组

    aar.conact(['d','e']);

    console.log(aar);//打印结果:['a','b','c','d','e']

slice()

例子:

    var aar = ['a','b','c','d','e'];

    aar.slice(1);  // 生成新数组 ['b','c','d','e']

    aar.slice(1,4);  // 生成新数组 ['b','c','d']

    //可以接收一或两个参数

splice() 

删除 插入 替换

例子:

    var aar =  ['a','b','c','d','e'];

    aar.splice(1,2);//1:起始位置 2:删除项数  从位置1删除两项

    aar.splice(1,0,'f');//1:起始位置 2:删除项数  在位置1处插入f

    aar.splice(1,1,'f');//1:起始位置 2:删除项数  在位置1处插入f 删除一项

indexOf()/lastIndexOf()

例子:

    var aar =  ['a','b','c','d','e'];

    arr.indexOf(b);//从第一项开始找到b的位置 1

    arr.lastIndexOf(b) //从末尾开始找到b的位置 3

    //找不到则返回-1

迭代方法

every(), filter() ,forEach(), map(), some() 


1、其中,every()和some()两个方法及其相似,都用于查询数组中的项是否满足某个条件,
但是不一样的地方是,every()类似于逻辑运算中的&&,数组中的每一项都要满足条件,
才能返回true值,且当前面有一个不满足时便直接返回false;some()则类似于逻辑运算中的||,
数组中只要有一项满足条件便返回true,且当第一项满足返回true是便直接返回true。

例子:
   function numberChecker(element,index,item){
        return (element >=10 );
    }
   console.log("every:",[10,80,5,10,50].every(numberChecker));//false
   console.log("some:",[1,8,5,10,5].some(numberChecker));//true
  //numberChecker()这个方法用于判断数字是否满足条件,满足则返回true


2、filter()和它的名字一样,就是过滤,从数组中过滤出自己想要的子数组。
例子:
   function numberChecker(element,index,item){
        return (element >=10 );
    }
   console.log([10,80,5,10,50].filter(numberChecker));//[10,80,10,50]
  //numberChecker()这个方法用于判断数字是否满足条件,满足则返回true


3、map()和它的名字一样,就是映射,将原数组映射成新的数组。
例子:
   function numberChecker(element,index,item){
        return (element * 2);
    }
   console.log([10,80,5,10,50].filter(numberChecker));//[20,160,10,20,100]
  //numberChecker()这个方法用于设定条件方法


4、forEach()类似于数组遍历。
例子:
  var  arr= [10,80,5,10,5];
   var evenArr = [];  
   function numberChecker(element,index,item){
        if (element%2 == 0) {
            evenArr.push(element);
            return;
        }
   }
   arr.forEach(numberChecker2)
   console.log(evenArr);//[10,80,10]
  //numberChecker()这个方法用于设定条件方法,选出偶数

数组排列

//降序
 function descending(v1,v2){
    if( v1 < v2 ){
        return 1;
    }else if( v1 > v2 ){
        return -1;
    }else{
        return 0;
    }
}

//升序
function ascending(v1,v2){
    if( v1 > v2 ){
        return 1;
    }else if( v1 < v2 ){
        return -1;
    }else{
        return 0;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值