原生JavaScript常用数组/字符串方法与遍历

数组方法

数组常用方法
  • 改变数组自身方法
    1. push() 数组末尾添加n项/ pop()数组末尾移除一项 *****
    2. shift() / unshift()
    3. reserve() 数组反向排序 / sort() 数组正向排序(仅适用于一元数组)
    4. splice(index,removelength,[ele,ele1…]) 删除/插入/替换 *****
  • 不改变数组自身方法
    1. join(‘字符串分割符’) 返回字符串 ***** / toString() 布尔值转字符串
        var strArr = ['i','am','jontyy'];
        console.log(strArr.join());  //i,am,jontyy
        console.log(strArr.join('-'));  //i-am-jontyy
        console.log(strArr.join('')); //iamjontyy
        //字符串转数组是 split方法
2. indexof() 查找索引值下标 / lastIndexof() 反向查找
3. concat() 拼接,原数组末尾添加n项
4. slice(start,[end]) 截取(不包括end)    *****
数组高阶函数方法
  • 迭代方法
    1. every() 输出布尔值判段数组每一项是否符合条件(一假即假) / some() 只要任意一项符合条件则输出true(一真即真) -----不修改原数组
            var arr = [ 1, 2, 3, 4, 5, 6 ];  
            console.log( arr.some( function( item, index, array ){  
                console.log( 'item=' + item + ',index='+index+',array='+array );  
                return item > 3;  
            }));        
            console.log( arr.every( function( item, index, array ){  
                console.log( 'item=' + item + ',index='+index+',array='+array );  
                return item > 3;  
            }));  
            //item=1,index=0,array=1,2,3,4,5,6
            //item=2,index=1,array=1,2,3,4,5,6
            //item=3,index=2,array=1,2,3,4,5,6
            //item=4,index=3,array=1,2,3,4,5,6
            //true
            //item=1,index=0,array=1,2,3,4,5,6
            //false

some一直在找符合条件的值,一旦到,则不会继续迭代下去。
every从迭代开始,一旦有一个不符合条件,则不会继续迭代下去。
2. filter() 过滤 —不修改原数组

       var ages = [32, 33, 16, 40];
       function checkAdult(age) {
           return age >= 18;
       }
       function myFunction() {
       console.log(ages.filter(checkAdult));//[32,33,40]

/
map() 映射(遍历修改返回) —不修改原数组

       var objarr = [
           { id: 1, name: 'renzejun' },
           { id: 2, name: 'xiaokechao' },
           { id: 3, name: 'zhoujun' }
       ];
       var newarr = objarr.map((ele, index, objarr) => {
           return ele.id
       });
       console.log(newarr);//[1,2,3]
  1. forEach() 遍历数组,不改变原数组
       arr.forEach((index,ele,arr) => {

       })
  • 归并方法
    1. reduce() 返回数组每一项的和, —不改变原数组
    var a = [1,2,3,4,5,6,7,8,9,10] 
    var str = a.reduce(function(prev,cur,index,arr){
        return prev + cur ;
    });
    str  //55
  1. reduceRight()

字符串方法

  • toUpperCase() / toLowerCase()
  • charAt(index) / charCodeAt(index) / String.fromCharCode(unicode)
  • indexOf (str, char) / lastIndexOf()
'hello'.indexOf('ll',0);
//2
  • substring(start,end) 与数组同理/ slice(start,end) 截取 *****
  • replace(搜索的字符,替换的字符) 替换
'asdasdasdasd'.replace('a','---')
//"---sdasdasdasd"
  • concat()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值