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];
}