zoukankan      html  css  js  c++  java
  • Javascript数组与字符串常用api

    javaScript(api学习)

    数组有关的api

    创建数组

    var arr = new Array();//创建新的空数组
    

    数组的增删改查

    var arr = [1,2,3,4,5];
    delete arr[2];//arr = [1,2,undefined,4,5];
    

    delete可以删除,但只删除值,位置会被undefined填充,形成稀疏数组

    //查数组最后一位元素
    console.log(arr[arr.length-1]);
    
    //通过更改length清空数组
    arr.length = 0;
    

    注:

    1. 更改数组长度的方法在数组索引不为数字的时候length失效

    2. 在数组处在稀疏数组的状态,我们通过length操作的时候会出问题

    indexOf();

    作用:可返回数组中某个指定元素的位置,若没有这个元素就会返回-1

    var arr = [2,5,6,8,9,10,13];
    arr.indexOf(9);//返回4
    arr.indexOf(7);//返回-1
    

    push(),pop(),unshift(),shift()

    push();在数组的最后添加一个或多个值,返回数组的新的长度

    pop();删除并且返回数组最后一个元素

    unshift();可以向数组的开头添加一个或者多个元素,返回新长度

    shift();删除数组的第一个元素,并且返回删除的元素

    var arr = [5,6,7,8];
    
    var info1 = arr.push(9);//arr=[5,6,7,8,9];
    console,log(info1);//打印为5
    
    var info2 = arr.pop();//arr = [5,6,7,8];
    console,log(info2);//打印为9
    
    var info3 = arr.unshift(4);//arr = [4,5,6,7,8];
    console.log(info3);//打印为5
    
    var info4 = arr.shift();//arr[5,6,7,8];
    console.log(info4);//打印为4
    

    forEach()

    作用:用于调用每个元素,并将元素传递给回调函数

    参数:forEach(callback);
    callback有三个参数:

    1. 第一个表示正在处理的当前元素 (必选)

    2. 第二个参数表示数组中正在处理元素的索引值

    3. 第三个参数表示正在操作的数组

    forEach();函数return值为undefined

    var arr1 = [1,2,3,4,5,6];
    var arr2 = [];
    
    arr1.forEach(function(item){
        arr2.push(item);
    })
    
    console.log(arr2);//[1,2,3,4,5,6]
    

    map();

    作用:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值

    var arr1 = [2,4,6,8];
    
    var info = arr1.map(function(item){
        var num = item * 2;
        return item;
    })
    
    console.log(info);//[4,8,12,16]
    

    reduce();

    作用:接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

    这里的callback的参数多了一个:

    accumulator:累加器(必选)

    var arr = [2,4,6,8,9,10];
    
    var info = arr.reduce(function(add,item){
        return add + item;
    })
    
    console.log(info);//39
    

    filter();(函数过滤器)

    作用:创建一个新的数组,新数组中的元素是通过检查指定数组中符和条件的所有元素

    var arr1 = [1,2,3,5,6,8,9,12];
    
    var info = arr1.filter(function(item){
        if(item % 2 === 0){
            return true;
        }
    })
    
    console.log(info);//[2,6,8,12]
    

    every();

    作用:用于检测数组,新数组中的所有元素是否都符合条件。

    注:

    1. 如果数组中有一个元素不满足,则整个表达式返回false.且剩余元素不会进行检测。

    2. 如果所有元素都满足条件,则返回true。

    var arr = [2,4,5,6,8,10];
    //判断是否全是偶数
    var info = arr.every(function(item){
        if(item % 2 === 0){
            return ;
        }
    })
    
    console.log(info);//false
    

    some();

    用于检测数组所有元素是否符和指定条件

    注:

    1. 如果有一个满足条件,则表达式返回true,剩余的元素不会在执行检测

    2. 如果所有元素满足都满足条件,则返回false。

    var arr = [2,4,5,6,8,10];
    //判断是否有奇数
    var info = arr.some(function(item){
        if(item % 2 !== 0){
            return;
        }
    })
    

    join();

    用于把数组中的所有的元素转换成一个字符串

    参数(可选):

    指定一个字符串来分割数组的每个元素。如果需要,将分割转换为字符串。
    如果缺省该值,数组元素用逗号隔开,如果是空字符串(""),则所有元素之
    间都没有任何字符。
    
    var arr = ['hello','world','!'];
    
    var info = arr.join('');
    console.log(info);//helloworld!
    

    reverse();

    用于颠倒数组中元素的顺序(更改初始数组

    var arr = [4,56,87,2,3];
    
    arr.reverse();
    
    console.log(arr);//[3,2,87,56,4]
    

    sort();

    对数组进行排序(更改初始数组

    参数callback:

    1. 第一个用于比较的元素

    2. 第二个用于比较的元素

    var arr = [4,56,87,2,3];
    
    arr.sort(function(arg1,arg2){
        return arg1 - arg2 ;
    });
    
    console.log(arr);//[2,3,4,56,87];
    

    concat(arr1,arr2,...);

    用于连接两个或多个数组

    var arr1 = ['a','b',2];
    var arr2 = [1,'cb',45];
    
    var info = arr1.concat(arr2);
    
    console.log(info);
    

    slice();

    可从已有的数组中返回选定的元素

    两个参数:

    1. began:开始的索引

    2. end:结束的索引

    tip: 包括开始不包括结束

    var arr = [1,3,4,5,6,7];
    
    var info = arr.slice(1,3);
    console.log(info);//[3,4];
    

    splice();

    用于添加或删除数组中的元素(会改变原数组

    内含三个参数:

    1. 第一个是开始的索引

    2. 第二个是选中元素的个数

    3. 第三个是添加的元素

    var arr = [1,3,4,5,6,7];
    
    var info = arr.splice(1,1,'a');
    
    console.log(info);//3
    console.log(arr);//[1,'a',4,5,6,7]
    

    isArray();

    判断是不是数组

    var arr = [1,3,4,5,6,7];
    
    var info = Array.isArray(arr);
    
    console.log(info);//true
    

    String字符串api

    charAt();

    可返回指定位置的字符

    var str = 'hello world';
    
    var info = str.charAt(2);
    console.log(info);//l
    

    charCodeAt();

    可返回指定位置的字符的Unicode编码

    var str = 'hello world';
    
    var info = str.charCodeAt(2);
    
    console.log(info);//108
    

    concat();

    将多个字符串拼接

    var str1 = 'hello';
    var str2 = 'world';
    var st3 = '!';
    
    var info = str1.concat(str2,str3);
    
    console.log(info);//helloworld!
    

    fromCharCode();

    根据Unicode表的值创建一个字符

    var str = String.fromCharCode(108);
    console.log(str);
    

    indexOf();

    可以返回一个字符在字符串中首次出现的位置

    var str = 'hello world';
    
    var info = str.indexOf('l');
    console.log(info);//2
    

    lastIndexOf();

    返回一个字符在字符串最后出现的位置

    var str = 'hello world';
    
    var info = str.lastIndexOf('l');
    console.log(info);//9
    

    match();

    可以在字符串中检索指定的值(可以和正则配合

    var str = 'hello world';
    
    var info = str.match('o');
    console.log(info);//Array[0:'o',index:4,input:'hello world',length:1]
    

    replace();

    可以在字符串当中使用一些字符替换另一些字符(可以和正则搭配

    var str = 'hello world';
    
    var info = str.replace('lo','**');
    console.log(info);//hel** world
    

    用于在字符串当中检索查找指定的字符(可以和正则配合

    var str = 'hello world';
    
    var info = str.search('o');
    
    console.log(info);//4
    

    slice();

    可以从字符串中截取指定的字符

    var str = 'hello world';
    
    var info = str.slice(1,3);
    
    console.log(info);//el
    

    split();

    可以把字符串分割成字符串

    参数:

    1. 第一个参数表示控制的切割符

    2. 第二个参数表示数组里面的长度(可以存入几个数据)

    var str = 'hello world !';
    
    var info = str.split(' ',2);
    
    console.log(info);//['hello','world'];
    

    substr();

    可以从字符串当中抽取从开始位置指定的个数的字符

    参数:

    1. 第一个是截取位置

    2. 第二个是截取长度

    var str = 'hello world';
    
    var info = str.substr(2,2);
    
    console.log(info);//ll
    

    substring();

    从开始和结束的中间截取字符串。

    var str = 'hello world';
    
    var info = str.substring(1,3);
    
    console.log(info);//el
    

    toLowerCase();

    把字符串中的字符小写

    var str = 'HELLO WOLRD';
    
    var info = str.toLowerCase();
    
    console.log(info);//hello wolrd;
    

    toUpperCase();

    把字符串大写

    var str = 'hello world';
    
    var info = str.toUpperCase();
    
    console.log(info);//HELLO WORLD
    
  • 相关阅读:
    Dotnet Core 跨平台GUI 开发实践
    微软的wasm 和 rust的wasm 方案对比
    全栈程序员的新玩具Rust(六)第一个WASM程序
    全栈程序员的新玩具Rust(五)第一个http服务器
    全栈程序员的新玩具Rust(四)第一个图形程序
    全栈程序员的新玩具Rust(三)板条箱
    全栈程序员的新玩具Rust(二)基本代码入门
    mac 上使用 zip 版的mysql
    磁盘 I/O 优化
    Netty WebSocket 开发
  • 原文地址:https://www.cnblogs.com/strongtyf/p/11836555.html
Copyright © 2011-2022 走看看