两道简单的JS笔试题

本文介绍了三种实现字符串反转的方法及两种获取汉字拼音的方案。利用JavaScript实现这些功能,并通过简单的HTML界面进行交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.输入一串字符,要求显示其反转字符串,如输入 abc,显示 cba。

 

2.输入一个汉字,要求显示其拼音。可使用提供的pinyin.js文件。

 

下面是参考答案~~~~~~~~~~~~~~~~~

 

新建一个html文件:

 

     <input type="text" style="width:300px;" value="" id="source" name="source" />
     
     <input type="button" value="submit" onclick="str_reverse();【或cn_getter()】" />
     <br/>
     <br/>
     <input type="text" style="width:300px;" value="" id="target" name="target" />

 

1.方法一(笔试脑子容易短路,只能想到最笨的方法)

        function str_reverse(){
            var source_str = document.getElementById("source").value;
            var des_str = '';
            for(var i=source_str.length-1;i>=0;i--){
                des_str += source_str.charAt(i);
            }
            document.getElementById("target").value = des_str;
        }

 

1.方法二(正常水平)

        function str_reverse(){
            var source_str = document.getElementById("source").value.split('');
            var des_str = source_str.reverse().toString().replace(/,/g,'');
            document.getElementById("target").value = des_str;
        }

 

1.方法三(高人指点)

        String.prototype.reverse = function () {
            return this.concat.apply('', this.split('').reverse());
        }
       
        function str_reverse(){
            document.getElementById("target").value = document.getElementById("source").value.reverse();
        }

 

 

2.方法一(考试时,完全不记得拼音文件中定义的是JSON)

       function cn_getter(){
            var source_str = document.getElementById("source").value
            var cn_str;
            var cn_num = 0;
            for(key in pinyin){
                if(pinyin[key].indexOf(source_str)!=-1){
                    cn_num++;
                    if(cn_num>1){
                        cn_str += ","+key;
                    }
                    else{
                        cn_str = key;
                    }
                }
            }
            document.getElementById("target").value = cn_str;
        }

 

2.方法二(高人指点,有bug,未改进)

        var rev_dict = {};
        function make_reverse_dict() {//需要改进多音字的情况
            for(key in pinyin) {
                var chars = pinyin[key].split('');
                for(i=0; i<chars.length; ++i) {
                    rev_dict[chars[i]] = key;
                }
            }
        };
        make_reverse_dict();//反转json的键值
       
        function cn_getter(){
            var chr = document.getElementById("target").value;
            document.getElementById("target").value = rev_dict[chr];
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值