js常用数组/字符串方法与遍历

js常用数组/字符串方法与遍历

Introduce

唔,以前学习基础打得不牢,每次需求到手,都要到处百度查询,于是干脆整理一份自己用过的方法把

js数组常用方法

  1. 字符串连接

    var arr1 = [1,2,3];
    var arr2 = [4,5,6];
    var arr3 = arr1.concat(arr2);
    console.log(arr3)
    //(6) [1, 2, 3, 4, 5, 6]
    var arr1 = [1,2,3];
    var arr2 = [(4,5),6];
    var arr3 = arr1.concat(arr2);
    console.log(arr3)
    //(5) [1, 2, 3, 5, 6]
    //顺便解释一下,这里4不见了 只有5是逗号操作符的问题,只返回最后一个
    var arr1 = [1,2,3];
    var arr2 = [[4,5],6];
    var arr3 = arr1.concat(arr2);
    console.log(arr3)
    //(5) [1, 2, 3, Array(2), 6]
  2. 数组转字符串

    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方法
  3. 删除数组最后一个

    var stackArr = [1,2,3,4];
    stackArr.pop();
    console.log(stackArr);  //[ 1, 2, 3 ]
  4. 数组末尾添加

    var arr = [1,2,3];
    arr.push(4);
    console.log(arr);  //[ 1, 2, 3, 4 ]
    arr.push(5,6);
    console.log(arr);  //[ 1, 2, 3, 4, 5, 6 ]
    
  5. 数组内容反转

    var initArr = [1,2,3];
    initArr.reverse();
    console.log(initArr);  //[ 3, 2, 1 ]
    // 如果不想用这个办法,可以把数组第一个和最后一个交换,一直交换到结束
  6. 删除数组头部第一个元素

    var arr4 = [1,2,3,4];
    var x = arr4.shift();
    console.log(x) //1
    console.log(arr4);  //[ 2, 3, 4 ]
  7. 数组头部添加一个或者多个元素

    var arr5 = [4,5];
    arr5.unshift(3);
    console.log(arr5);  //[ 3, 4, 5 ]
    arr5.unshift(1,2);
    console.log(arr5);  //[ 1, 2, 3, 4, 5 ]
  8. 数组排序

    var arrs = [1,3,5,2,4];
    arrs.sort();
    console.log(arrs);  //[ 1, 2, 3, 4, 5 ]
    //排序里面可以添加函数,来决定排序的前后
    arrs.sort(function (a,b){
    return a - b;
    });
    console.log(arrs);  //[ 1, 2, 3, 4, 5 ]
    arrs.sort(function (a,b){
    return b - a; 
    });
    console.log(arrs);  //[ 5, 4, 3, 2, 1 ]
    
  9. 截取数组

    //截取数组 arrs.slice(start,end);
    //start参数必需,从何处开始选取,包括start。如果为负数,会从尾部选取,比如-1代表最后一个元素。前开后闭
    //end参数可选,从何处结束选取,不包括end。如果没有指定该参数,数组会包含从start开始到数组结束的所有元素。
    //如果该参数是负数的话,表示从数组尾部开始算起的元素。
    var arr6 = [1,2,3,4,5];
    console.log(arr6.slice(1));  //[ 2, 3, 4, 5 ]
    console.log(arr6.slice(1,3));  //[ 2, 3 ]
    console.log(arr6.slice(1,-1));  //[ 2, 3, 4 ]
    
  10. 插入,删除替换数组

    //其实都是同一个函数,根据参数来变换
    //插入、删除和替换数组的元素
    //Array.splice(index,howmany,element1,.....elementX);
    //index必需,从何处添加、删除元素,开始插入或删除数组元素的下标
    //howmany必需,应该删除多少个元素,可以为0,如果未设定该参数,则删除从index开始到数组结尾的所有元素
    //element1可选,添加到数组中的新元素,从index下标开始插入
    //elementX可选,可向数组中添加若干个元素
    var arr7 = [1,2,3,4,5,6];
    arr7.splice(1,0,8);
    console.log(arr7);  //[ 1, 8, 2, 3, 4, 5, 6 ]
    arr7.splice(2,1);
    console.log(arr7);  //[ 1, 8, 3, 4, 5, 6 ]
    arr7.splice(1,1,10);
    console.log(arr7);  //[ 1, 10, 3, 4, 5, 6 ]
    

js数组遍历几种方法

  1. forEach

    var arr = [1,2,3,4,5,6];
    arr.forEach(function(item,index){console.log('内容' + item + '索引' + index)})
    //内容1索引0
    // 内容2索引1
    // 内容3索引2
    // 内容3索引2
    // 内容5索引4
    // 内容6索引5
  2. every

    var arr = [1,2,3,4,5,6];
    result = arr.every(function(item,index){return item > 2})
    //false
    result = arr.every(function(item,index){return item > 0})
    //true
  3. reduce

    var arr = [1,2,3,4,5,6];
    arr.reduce(function(pase,now){return pase + now})
    //21
  4. map

    var arr = [1,2,3,4,5,6];
    arr.map(function(item, index){console.log(item, index); return item *2})
    //1 0
    //2 1
    //3 2
    //4 3
    //5 4
    //6 5 
    
    
    //0 2
    //1 4
    //2 6
    //3 8
    //4 10
    //5 12
  5. for …in

    var arr = [1,2,3,4,5,6];
    for (var i in arr) {
       console.log(arr[i]);
    }
    //1
    //2
    //3
    //4
    //5
    //6
  6. for …of

    var arr = [1,2,3,4,5,6];
    for (var value of arr) {
       console.log(value)
    }
    // 1,2,3,4,5,6

js字符串常用方法总结

  1. charAt(index)

    var str = 'iamjontyy'
    str.charAt(3)
    // j
  2. charCodeAt (index)

    var str = 'iamjontyy'
    str.charCodeAt(3)
    //106
  3. fromCharCode (num)

    String.fromCharCode(100,101)
    //"de"
  4. indexOf (str, char)

    'hello'.indexOf('ll',0);
    //2
  5. lastIndexOf

    'hello'.lastIndexOf('e')
    //1
  6. substring

    'asdasdasdasd'.substring(3,7)
    //"asda"
    'asdasdasdasd'.substring(3)
    //"asdasdasd"
  7. slice

    'asdasdasdasd'.slice(3,7)
    //"asda"
    'asdasdasdasd'.slice(3)
    //"asdasdasd"
    //后期会单独做一个substring和slice的区别的,但是基本用途一样
  8. split

    'asdasdasdasd'.split()
    //["asdasdasdasd"]
    'asdasdasdasd'.split('')
    //(12) ["a", "s", "d", "a", "s", "d", "a", "s", "d", "a", "s", "d"]
    'asdasdasdasd'.split('s')
    //(5) ["a", "da", "da", "da", "d"]
  9. replace

    'asdasdasdasd'.replace('a','---')
    //"---sdasdasdasd"
  10. match

    最近在整理正则表达式的匹配,整理好了放在正则表达式里说把

writer&contact

{
  "name":"Jontyy" , 
  "email": " jontyy@163.com"
}

gitHub

https://github.com/YJD199798

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值