数组和字符串的方法汇总

字符串的方法
字符串方法 用法
toString() 转字符串的方法
indexOf(字符) 返回字符索引位置 检测不到返回-1;第二个参数是起始查找位置(包含该起始位置)
lastindexOf(字符) 从右往左检测
concat() 拼接字符串的方法 返回拼接后的字符串
repalce(原值,替换之后的字符) 替换字符串的方法 只能替换相同字符串的第一个
search(要查找的字符) 返回字符索引位置 没有其他参数 es6
charAt(索引) 返回索引对应的字符
charcodeAt(索引) 返回索引对应的字符的ascii码值
n.charAt(i); for(key in n) for循环 字符串的遍历
split() 转换为数组的方法 不写数组之间不隔开 split("") 以逗号隔开
slice(起始索引,终止索引) 截取字符串的方法 写索引 取小不取大 返回截取的字符串
substr(起始索引,长度) 截取字符串的方法 返回截取字符串 原字符串不发生变化
substring(起始索引,终止索引stop) 截取字符串的方法 返回截取字符串 原字符串不发生变化
toUpperCase() 转化为大写
toLowerCase() 转化为小写

具体用法请看如下代码

字符串的方法

   //字符串类型的数字转化为数字
        parseInt("123"); // 123  转化整型
        parseFloat("99.9"); //99.9 转化为浮点型
        console.log(parseInt("98¥")); //98
        //数字类型转换为浮点型
        var a = 123;
        a.toString(); //"123"

        //字符串检测字符的方法
        var str = "abcdefa";
        //  indexOf  一个参数 从左到右返回该字符第一个索引位置  没有则返回-1;
        console.log(str.indexOf("a")); //0
        //有两个参数  第一个参数  要找的字符  第二个参数 起始查找的位置
        console.log(str.indexOf("a", 3)); // 从第三个索引开始查找 包含第三个索引

        // lastindexOf  从右到左查找  功能和indexOf一样
        console.log(str.lastIndexOf("a"));
        console.log(str.lastIndexOf("a", 3)); //从右往左

        //拼接字符串的方法  concat
        // 拼接字符串  可以用+ 号拼接  concat
        //   返回拼接之后的字符串
        var m = "hjkl";
        console.log(str.concat(m));
        var k = "12335";
        console.log(str.concat(m).concat(k));

        //字符串的替换方法   replace
        //第一个参数  要替换的字符   
        //第二个参数   替换的值
        console.log(str.replace("f", 0));
        //有相同字符  只能替换相同字符第一个
        console.log(str.replace("a", "m"));
        //全部替换需要用到正则表达式
        console.log(str.replace(/\a/g, 0));

        // 查找字符的方法  search   
        //  参数直接写字符  返回当前字符的索引位置  如果没有返回-1  //没有参数可选
        console.log(str.search("a")); // 相同字符也只能返回第一个

        //ascii 值和字符之间的相互转化
        var s = "a";
        // charAt()   参数写索引
        // charCodeAt   参数当前字符的索引   
        console.log(s.charAt(0)); // charAt  返回该索引对应的值
        console.log(s.charCodeAt(0)); //charcodeAt  返回该索引位置对应值的ascii值


        //字符串的遍历
        //charAt  根据索引 在字符串里面取字符
        var n = "abcdefgh";
        for (var i = 0; i < n.length; i++) {
            console.log(n.charAt(i));
        }

        for (key in n) {
            console.log(key); // 返回的是索引
            console.log(n.charAt(key)); //返回的是索引对应的值

            //字符串转化为数组的方法
            // split 将字符串转换为数组  参数写以什么符号隔开
            var s1 = "abcdefgh";
            console.log(s1.split()); //不写参数默认数组中间不加任何字符
            console.log(s1.split(" ")); //写空字符串  默认以逗号隔开


            //字符串截取方法  slice()
            // 参数取索引 取小不取大
            //原字符串不受影响
            var k1 = "abdcfdhv";
            console.log(k1.slice(0, 3)); //返回的是截取的字符  不写第二个参数默认截取所有
            console.log(k1);
            // substr  第一个参数是起始索引  第二个参数是截取长度
            console.log(k1.substr(0, 3));
            console.log(k1); //  原字符串不受影响
            ////substring  参数是索引取小不取大  
            console.log(k1.substring(0, 4)); //不写第二个参数默认截取所有
            console.log(k1); //  原字符串不受影响

            //大小写字符串转化

            var s2 = "ABCefgh";
            console.log(s2.toLowerCase()); //转化为小写  
            console.log(s2.toLocaleLowerCase());
            console.log(s2.toUpperCase()); //转化为大写
            console.log(s2.toLocaleUpperCase());

            //字符串里面获取每一位
            var s3 = "abc";
            console.log(s3.charAt(0));
            console.log((s3[0])); //数组取值方法 也可以根据索引返回字符

            // 字符串内置对象
            var c1 = "abc";
            console.log(s1);
            // new 创建一个实例 new对象
            var str2 = new String(c1);
            console.log(str2);
            var c3 = new String("abcde");
            console.log(c3);

            // 检测类型  typeof  new创建的返回的是对象
            // instanceof  检测类型 返回true 和 false 
            var c4 = "zxc";
            var c5 = new String(c4);
            // instanceof  检测类对象的构造函数
            console.log(c4 instanceof String); //false
            console.log(c5 instanceof String); // true 


数组的方法
数组方法 用法
join() 转化为字符串的方法 参数写拼接之间的符号
reverse() 翻转数组的方法
slice() 返回截取的数组 参数是索引 取小不取大 原数组不发生改变
splice() 返回截取的数组,参数1是索引,二是长度,原数组发生改变
concat() 数组拼接
every() 检测数组里面每一位是否满足条件 满足返回true 不满足返回false
filter() 数组过滤 返回过滤出满足条件的数组
find() 根据条件检测数组每一个值 直接返回满足条件的第一个的值
findIndex() 根据条件检测数组每一个值 直接返回满足条件的第一个值的索引
includes() 检测数组里是否包含某个值 返回true false
Array.isArray() 检测当前对象是否为数组 返回true false
map() 映射数组的方法 功能写一半是遍历 将数组映射成一个新的数组
totle() 第一位 累计数组
reduce() 从左到右累计数组的方法
reduceRight() 从右到左累计
pop() 删除数组中的最后一位 返回的是删除的值 原数组发生改变
shift() 删除数组中的第一个元素 返回的是删除的值 原数组发生改变
push() 添加数组元素 追加到数组元素之后
unshift() 添加数组元素 追加到数组元素之前
arr.toString() 将数组转化为字符串
sort() 对原数组进行排序
some() 检测满足条件的值 返回true 和false 有满足一位条件即可

具体用法请看如下代码

  var arr = new Array(); //实例化一个数组对象
        console.log(arr);
        // 数组赋值  在对象括号里面直接写值
        var arr1 = new Array(2); //写一个值表示数组的长度
        console.log(arr1);
        var arr2 = new Array(1, 2, 3) //  多个值存入
        console.log(arr2);
        //数组取值  数组索引
        console.log(arr2[0]);
        console.log(arr2.length); // lengeth 返回数组长度


        // 数组里面的方法
        //join  数组转化为字符串的方法 将数组每一位拼接 参数写拼接之间的符号
        var s = [1, 2, 3, 4, 3];
        console.log(s.join()); // 默认不写转化字符串用逗号隔开
        console.log(s.join("")); // 中间为空
        console.log(s.join("&")); //1&2&3&4&3


        //reverse() 翻转数组的方法  
        // 翻转后对原数组有影响
        var a1 = [1, 2, 3, 4, "a"]
        console.log(a1.reverse()); //返回的是翻转后的数组
        console.log(a1); //原数组已经发生改变


        //数组的截取方法
        // slice()  返回截取的数组 参数是索引  原数组不受影响
        var a2 = [1, 2, 3, 4, 5];
        console.log(a2.slice(0, 3)); //取小不取大


        //数组截取方法 splice()  第一个参数起始索引 第二个参数 截取几个长度  返回截取的数组
        // 对原数组有影响 
        console.log(a2.splice(0, 3)); //返回截取的数组
        console.log(a2); //原数组已经发生变化


        // concat() 拼接数组
        var h1 = [1, 2, 3];
        var h2 = [4, 5, 6];
        console.log(h1.concat(h2));


        //  every()  检测数组里面的值 是否满足条件
        // 检测数组里面的每一位 是否满足条件  满足true 不满足false
        var array = [2, 6, 3]
        console.log(array.every(function(currentValue, index, arr) {
            return currentValue % 2 == 0; //false
        }));


        //filter() 数组过滤   参数1 回调函数  参数2 可选 写参数返回数组
        var arr3 = [1, 2, 3, 4, 5, 6];
        console.log(arr3.filter(function(cvalue, index) {
            console.log(this)
            return cvalue % 2 == 0; // 返回值 过滤出符合条件的数组
        }, arr3));


        //find 根据条件  检测每一个元素值  遇到满足条件的一个值  直接返回不会继续执行
        var t1 = [1, 2, 3, 4, 5, 6];
        console.log(t1.find(function(current, index) {
            return current % 2 == 0; //遇到满足的直接返回
        }));


        //findeIndex  根据条件 返回满足条件的第一个值的索引 直接返回  不会再执行
        console.log(t1.findIndex(function(current, index) {
            return current % 2 == 0;
        }));


        //数组的遍历
        //for
        // for in
        //forEach
        var t2 = [1, 2, 3, 4, 5, 6, 7, 8];
        t2.forEach(function(current, index, arr) {
            console.log(current);

        })


        //includes 检测数组里面是否包含某个值  返回true false
        console.log(t2.includes(5)); //true
        console.log(t2.includes(9)); //false

        // Array.isArray()  检测当前对象是否为数组
        // isArray() 是数组类对象的方法  
        // t2.isArray() 报错   isArray is not a function

        //返回值  true false
        console.log(Array.isArray(t2)); //true

        //映射方法 map   将一个数组转换为一个新的数组
        // map 功能写一半就是数组的遍历
        console.log(t2.map(function(current, index) {
            return current * 2; //返回是一个新数组
        }))

        //累计方法   
        //totle 数组的第一位
        // reeduce  从左到右累计
        // reduceRight 从右到左累计
        var t3 = [2, 1, 3, 5, 4];
        console.log(t3.reduce(function(totle, current, index) {
            console.log(totle, current);
            return totle + current; //totle  累计值
        }));

        // reduce 从左到右
        console.log(t3.reduce(function(totle, current, index) {
            console.log(totle, current);
            return totle + current;
        }));
        // reduceRight  从右到左累计
        console.log(t3.reduceRight(function(totle, current, index) {
            console.log(totle, current);
            return totle + current;
        }));

        // pop()删除数组里面的元素 
        // pop()删除数组中的最后一位  返回值是删除的值
        // 原数组发生改变  
        var arr5 = [1, 2, 3, 4];
        console.log(arr5.pop()); //返回值是4
        console.log(arr5); //原数组发生改变

        //shift() 删除数值中的第一个元素  返回的是删除的值
        //原数组发生改变
        console.log(arr5.shift()); // 删除了1
        console.log(arr5);

        //push()给数组里面添加值,追加到数组之后,括号里写要追加的值
        var arr6 = [1, 2, 3, 4, 5, 6, 7];
        arr6.push(8);
        //  console.log(arr6.push(8)); //返回数组的长度
        console.log(arr6);

        //unshift() 追加到数组之前
        arr6.unshift(0);
        // console.log(arr6.unshift(0));  // 返回数组的长度
        console.log(arr6);

        // 将数组转化为字符串
        var arr7 = [1, 2, 3];
        console.log(arr7.toString()); //1,2,,3

        //sort() 对原数组排序 默认从小到大
        var arr3 = [1, 4, 2, 5, 3];
        console.log(arr3.sort()); //从小到大  只能对个位数进行排序
        //调整排序方式
        console.log(arr3.sort(function(a, b) {
            return b - a;
        }));

        //some() 检测满足条件的值  返回true 和false
        var arr8 = [1, 2, 3, 4];
        console.log(arr8.some(function(current, index) {
            return current % 2 == 0;
        }));

猜你喜欢

转载自blog.csdn.net/weixin_45955339/article/details/106673028