js(数组对象,字符串对象)

 数组对象
        属性:
            length 数组的长度
            数组.length
        方法:
            数组方法
            格式: 数组.方法名称();

        1) reverse 颠倒数组中的元素
        var arr1 = [78,74,51,23,45];
        arr1.reverse()
        console.log(arr1.reverse());

        2) toString() 数组方法,将数组转为字符串
            String 不是数组方法
        var arr1 = [78,74,51,23,45];
        console.log(arr1.toString());

        3) join 将数组拼接成字符串,连接数组中的每一个值
                默认情况下是使用","进行拼接
        var arr = ['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
        var newArr = arr.join('-');
        console.log(newArr);
 
        join方法分析的过程
        function join(a=','){
            var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
            var str = '';
            for(var i=0;i<arr.length;i++){
                if(i == arr.length-1){
                    str += arr[i];
                }else{
                    str += arr[i]+a;
                }
            }
            return str;
        }
        console.log(join('*'));

        4) concat 连接多个数组,返回新数组
        var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
        // var newArr= arr.concat('嵩山','重渡沟');
        var newArr = arr.concat(['嵩山','重渡沟'],['嵩山','重渡沟']);
        console.log(newArr);

        面试题:将多个数组进行拼接?
            concat 
            ... 扩展运算符[ES6]

        var arr = [1,2,3,6,7,8,9];
        var arr2 = [4,5,6];
        var arr3 = [...arr,...arr2];
        console.log(arr3);
        console.log(...arr);

        5) 元素添加
            push(添加的内容)尾部添加
                添加内容的时候不会产生新的数组,返回值是新数组的长度
                在原数组身上添加的内容
            unshift(添加的内容) 从数组的头部插入内容
                添加内容的时候不会产生新的数组,返回值是新数组的长度
                在原数组身上添加的内容

        var arr=['云南','九寨沟','拉萨'];
        console.log(arr.push('嵩山'));
        console.log(arr.unshift('重渡沟'));
        console.log(arr);

        6) 删除数组数据
            shift() 头部删除
            pop()尾部删除
                添加内容的时候不会产生新的数组,返回值是被删除的内容本身
                在原数组身上添加的内容

            var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
            console.log(arr.shift());;
            console.log(arr.pop());;
            console.log(arr);

        7) splice(下标,删除的数量,添加的内容) 添加或者修改或者删除
        // 删除:返回值被删除的内容
        var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
        console.log(arr.splice(3,1));
        console.log(arr);

        // 修改:返回值被删除的内容
        var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
        console.log(arr.splice(3,1,'嵩山'));
        console.log(arr);

        // 添加:返回值被删除的内容
        添加的时候,需要把删除这个字段设置为0
        var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
        console.log(arr.splice(3,0,'嵩山','华山'));
        console.log(arr);

        8) 排序sort
        var arr = [8,5,34,23,7];
        var newArr = arr.sort(function(a,b){
            return a - b; // 升序
        });
        var newArr = arr.sort(function(f,e){
            return e - f; // 降序
        });
        console.log(newArr);

        9)查找元素在数组中的位置
        array.indexOf(item,start)
        返回元素在数组中的位置,若没检索到,则返回 -1。
        参数 描述
        item 必须。查找的元素
        start 可选。规定检索的位置,它的合法取值是 0 到 stringObject.length - 1。
字符串
            字符串其实是一个特殊的数组,可以使用数组的下标获取其中某一个值,但是不能更改

        // var str = new String('12345678');
        var str = 'hello';
        for(var i=0;i<str.length;i++){
            console.log(str[i]);
        }

        属性:
            length 长度
        方法:
            1) indexOf(查找的内容,从什么位置开始查找) 返回某个子字符串在字符串中第一次出现的位置
                出现:返回下标
                没有出现:返回的是-1

            var str = 'afgdtywgbfnjekagrn';
            // console.log(str.indexOf('a'));
            // console.log(str.indexOf('a',1));
            console.log(str.indexOf('a',15));
            
            
            // 案例:查找'afgdtywgbfnjekagrn'中,出现了多少次a,分别在什么位置
            function find(str,findcount){
                var index = str.indexOf(findcount); // 0
                var count = 0;
                var indexArr = [];
                // while( index >= 0){
                while( index != -1){
                    count++;
                    indexArr.push(index);
                    index = str.indexOf(findcount,index+1);
                }
                // 返回多个值的时候,既可以是数组,也可以是对象
                return {"count":count,"indexArr":indexArr};
            }
            console.log(find('afgdtywgbfnjekagrn','a'));

            2) lastIndexOf('被查找的内容','倒着数的位置') 返回某个子字符串在字符串中最后一次出现的位置

            var str = 'afgdtywgbfnjekagrn';
            // console.log(str.lastIndexOf('a'));
            console.log(str.lastIndexOf('a',5));

            // 需求:上传图片,后缀名 png或者是jpg,如何判断文件的后缀名
            var url = "http://www.image.con/img/one.exe";
            // console.log();
            console.log();
            var exe =  url.substr(url.lastIndexOf('.')+1);
            if(exe == 'png' || exe=="jpg"){
                console.log('格式正确');
            }else{
                console.log('格式bu正确');
            }

            3) 字符串的截取
                slice(start,end) 获取字符串的某个部分
                    包含start
                    不包含end,end没有参数值,默认截取到末尾
                var str = 'hello wolrd';
                // console.log(str.slice(6,11));
                // console.log(str.slice(6,str.length));
                // console.log(str.slice(6));
                // console.log(str.slice(0,-6));

                // 案例:使用slice和定时器,实现内容的输出
                var str = '我的名字叫张三,我今年十三岁了,(查找的内容,从什么位置开始查找) 返回某个子字符串在字符串中第一次出现的位置';
                var oBox = document.querySelector('#box');
                var i = 0;
                function show(){
                    if(i<str.length){
                        oBox.innerHTML += str.slice(i,++i); // 方法一
                        // oBox.innerHTML += str.charAt(i++); // 方法二
                        setTimeout(show,100);
                    }
                }
                show();
            4) substr(start,length) 按照长度截取
                没有length,默认截取到末尾
                var str = 'hello wolrd';
                console.log(str.substr(6));
                console.log(str.substr(6,5));

                var str = '我的名字叫张三,我今年十三岁了,(查找的内容,从什么位置开始查找) 返回某个子字符串在字符串中第一次出现的位置';
                var oBox = document.querySelector('#box');
                var i = 0;
                function show(){
                    if(i<str.length){
                        oBox.innerHTML = str.substr(0,++i); // 方法二
                        setTimeout(show,100);
                    }
                }
                show();
            
            5) substring(起始位置,[结束位置])
                substring 跟 slice一样的
            6)替换
        replace('想要替换的内容','替换成什么')
            想要替换的内容:
                可以直接写成字符串: ""
                可以写成正则表达式: /正则表达式/g

            1)默认只能替换第一个apple
        */
        // var str='My name is apple. So I like to eat apple very much!';
        // var str = "my-name-is-张三";
        // var newStr = str.replace('apple','banana');
        // 使用正则替换多个apple
        // var newStr = str.replace(/apple/g,'banana');
        // var newStr = str.replace(/-/g,"*")
        // console.log(newStr);
        /*----------------------------------*/
        // var arr = ['张三','李四','王五'];
        // var str = arr.join();
        // var newStr = str.replace(/,/g,'*');
        // console.log(newStr);
        /*----------------------------------*/
        // var str = "My1name2is3apple4!My6name7is8apple9!";
        // var newstr = str.replace('1',' ').replace('2',' ').replace('3',' ').replace('4',' ');
        // var newstr = str.replace(/[0-9]/g,' ');
        // var newstr = str.replace(/\d/g,' ');
        // console.log(newstr);
        /*----------------------------------*/
        // var str = '张三w李四F王五n马六';
        // var newstr = str.replace(/[a-zA-Z]/g,' ');
        // var newstr = str.replace(/[A-Z]/ig,' ');
        // console.log(newstr);
        7)charAt(n) 索引
            var str1 = 'helloworld';
            var getStr1 = str1.charAt(1);//返回字符串中下标为1的值
            var getStr1 = str1.charCodeAt(0);//返回索引对应字符的ASCII值
            console.log(getStr1);
            8) 转换大小写
            toLowerCase() 小写
            toUpperCase() 大写
            var str1 = 'HelloWorld';
            var getStr1 = str1.toLowerCase(1);
            var getStr1 = str1.toUpperCase(1);
            console.log(getStr1);
        */ 
        /* 输入字母自动转为大写-----------------------------*/
        // var inp = document.querySelector('#inp');
        // onkeyup 键盘弹起事件 onkeydown 键盘按下事件
        // inp.onkeyup = function(){
            // console.log(inp.value.toUpperCase());
        //     inp.value = inp.value.toUpperCase()
        // }
           9) split(字符串/正则) 分割,将字符串分割成数组
        
        var arr=['云南','九寨沟','拉萨','西双版纳','三亚','少林寺'];
        var str = arr.join(); 
        console.log(str.split(','));
        var classname = "my-fun-move"; // myFunMove
        // 1. 将字符串,按照-进行分割,分割成数组
        var arr = classname.split('-');
        // 2. 遍历数组中除了第一个以外的所有值
        for(var i=1;i<arr.length;i++){
            // 3. 第一个字母转为大写; 遍历出来的字符串的第一位使用replace替换成大写;
            var newStr = arr[i].replace(arr[i][0],arr[i][0].toUpperCase());
            // 4. 用转换好的字符串,替换原来的内容
            arr[i] = newStr;
        }
        // 5. 将数组使用空转为字符串
        console.log(arr.join(''));
        10) 
        var str = 'hellowolr';
        document.write(str.bold().fontcolor('#f00').italics().fontsize(7));
        document.write(str.link('http://www.baidu.com'))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值