字符串对象、数组对象

1、字符串对象

(1)创建

                字面量创建

                    var str = '1234'

                new关键词创建

                    var str1 = new String('1234')

  (2)字符串属性

                字符串.length    长度

    (3)字符串方法

                 (1)字符串.charAt(下标)       查找某个下标对应的字符哪个

                 (2)字符串.charCodeAt(下标)       查找某个下标对应的字符的编码哪个

                   (3)字符串.indexOf(字符[,从哪个下标开始查询])     查找某个字符串在另一个字符串中首次出现的位置,如果找到了返回对应的下标,没有找到返回-1

                   (4)字符串.lastIndexOf(字符[,从哪个下标开始查询])      查找某个字符串在另一个字符串中最后一次出现的位置,如果找到了返回对应的下标,没有找到返回-1

                 (5)字符串.substring(start,end)  

                   字符串从下标为start这开始截取,到end的位置(不包含)结束

                 (6)字符串.slice(start,end)  

                 字符串从下标为start这开始截取,到end的位置(不包含)结束

                 (7)字符串.substr(start,要截取几位)  

                  字符串从下标为start这开始截取,截几位      

                (8)、大小写转换

                        字符串.toUpperCase()    

                        字符串.toLowerCase()

                (9)、替换

                    字符串.replace(需要替换的字符串,替换成什么)       只能替换一次

               (10)、去掉字符串的首尾空格

                    字符串.trim()

                  (11、字符串分割

                    字符串.split(以什么标识来分割)    返回的是分割后的数组

   

    查询案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .active {
            background-color:  yellow;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <script>
        var box = document.getElementsByClassName('box')[0]
        //看看box身上有没有active这个类名,有就不用加了,没有就加上active
        if(box.className.indexOf('active') == -1) {
            //没有
            box.className = 'box active'
        }else {
            box.className = 'box'
        }
    </script>
</body>
</html>

截取案例

<script>
        var str = 'hello world'
        console.log(str.substring(2));   //从第二位开始截取,一直截到末尾
        console.log(str.substring(2,4));   //从第二位开始截取,一直截到第4位(不包含第4位)

        console.log(str.slice(2));   //从第二位开始截取,一直截到末尾
        console.log(str.slice(2,4));   //从第二位开始截取,一直截到第4位(不包含第4位)

        console.log(str.substring(2,0));   // 自己换了一下位置 0-3(不包含3)
        console.log(str.slice(2,0));

        console.log(str.substring(2,-2));   // 负数默认是0
        console.log(str.slice(2,-1)); //llo worl    负数是从后往前的倒数第几位
        
        console.log(str.substr(2,4));
    </script>

// 检测数据类型    typeof如果是null、array、object得到的结果都是object

 

 //检测具体是什么数据类型
<script>
console.log(Object.prototype.toString.call(undefined)); console.log(Object.prototype.toString.call(function fn(){}));
</script>

替换案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="text" placeholder='请输入手机号码'>
    <button>确定</button>
    <div class="box"></div>
    <script>

        //用户输入了一个手机号码,将中间的四位替换成****在显示出来
        var inp = document.getElementsByTagName('input')[0]
        var btn = document.getElementsByTagName('button')[0]
        var box = document.getElementsByClassName('box')[0]

        var tel = '18391841847'
        var reStr = tel.substring(3,7)
        console.log(reStr);
        console.log(tel.replace(reStr,"****"));

    </script>
</body>
</html>

json字符串

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="#">
        <input type="text" name="username">
        <input type="password" name="userpass">
        <input type="submit" value="提交">
    </form>
    <script>
        var json =  {
            'username':12345,
            'userpass':2345678
        }
        console.log(json);
        var str =  JSON.stringify(json)
        console.log(str,typeof str); //json字符串

        //将json字符串还原成json对象
        var json2 = JSON.parse(str)
        
        console.log(str['username']);
        console.log(json2['username']);
        console.log(json2.username);
    </script>
</body>
</html>

字符串去重

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var str = 'abcdaaabbbccdde'  
        //结果 abcde
            // 思路: 
            //在新的字符串中找找看有没有刚才拿到的这一项,没有就放入新的字符串中
            // 输出新字符串  
           //新的字符串
        var newStr = ''
        for(var i = 0;i<str.length;i++) {
            // 先循环str,拿到字符的每一个 
            var a = str[i]
            console.log(a);
            if(newStr.indexOf(a) == -1) {
                newStr += a
            }
        }
        console.log(newStr);
        for (var i = 0; i < newStr.length; i++) {
        var count = 0;
        for (var j = 0; j < str.length; j++) {
            //判断newStr里的元素是否等于str里的元素 如果相等 则次数加1
            if(newStr[i]==str[j]){
                count++;
            }
        }
        console.log(newStr[i],count);
    }
    </script>
</body>
</html>

数组对象

 1、数组

            (1)创建

                new关键词  new Array(10)

                字面量

            (2) 数组的属性

                数组.length

            (3) 遍历数组

                for(var i = 0;i<arr.length;i++) {

                    console.log(arr[i])

                }

            (4) 数组的方法

                查找某个数组元素首次出现的位置  

                    数组.indexOf(要查找的东西,从哪个下标开始查找)

                添加、删除

                    数组.push()     数组的末尾追加

                    数组.pop()      数组的末尾删除

                    数组.unshift()   数组的开头添加

                    数组.shift()     数组的开头删除

                    数组.splice(开始删除的下标位置,删除的个数,替换的内容)      添加、删除、替换

                截取数组

                    数组.slice(开始截取的下标位置,结束截取的下标位置)   不包含结束位置

                组合

                    数组.join(标识)     组合成一个新的字符串

                    数组.concat(内容)        组成一个新的数组

                    数组.reverse()      反转,返回值是反转后的数组

                排序

                    数组.sort(function(a,b){

                        //return a-b    //从小到大

                        return b-a      //从大到小

                        return 0.5 - Math.random()   //随机排序

                    })

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值