字符串题目

1.使用数组拼接出如下字符串 ,其中styles数组里的个数不定

    var prod = {
        name: '女装',
        styles: ['短款', '冬季', '春装']
    };
    function getTpl(data){
      var str='<dl class="product">'
      str+="<dt>"+data.name+"</dt>"
      for(var x in data.styles){
            str+="<dd>"+data.styles[x]+"</dd>"
      }
      str+="</dl>"
     return str
    };

    function getTpl2(data){
        var str=[];
        str.push('<dl class="product">')
        str.push("<dt>"+data.name+"</dt>")
        for(var i = 0; i < data.styles.length; i++){
            str.push("<dd>"+data.styles[i]+"</dd>")
        }
        str.push("</dl>")
         return  str.join("")
    }
    var result = getTpl(prod);
    var result = getTpl2(prod);

2.写出两种以上声明多行字符串的方法

第一种
var str = 'abcde\
abcde\
abcde\
ancde\
abcde\
abcde\
abcde\
ancde\
abcde\
abcde\
abcde\
ancde\
abcde\
abcde\
abcde\
ancde'
第二种
var str = "abcde "+
    "abcde "+
    "abcde "+
    "ancde "+
    "abcde "+
    "abcde "+
    "abcde "+
    "ancde "+
    "abcde "+
    "abcde "+
    "abcde "+
    "ancde "+
    "abcde "+
    "abcde "+
    "abcde "+
    "ancde"
    console.log(str)
 第三种(太长了,用其他举例)
(function () { /*
 abcd
 abcd
 abcd
 */}).toString().split('\n').slice(1,-1).join('')

3.补全如下代码,让输出结果为字符串: hello\饥人谷

var str = "hello\/\/饥人谷"
console.log(str)

4.以下代码输出什么?为什么

var str = 'jirengu\nruoyu'
console.log(str.length) //13个  转译\n 当一个字符

5.写一个函数,判断一个字符串是回文字符串,如 abcdcba是回文字符串, abcdcbb不是

function  blackString(str){
        if (str.split("").reverse().join("")===str) {
            console.log("我是")
        }else{
            console.log("我不是")
        }
    }
    var str1="abcdcba"
    var str2="abcdcbb"
    var str3="aabcdcbaa"
    //console.log(str3===str3.split("").reverse().join(""))
    //console.log(str1.split().reverse().join()==str1)
    blackString(str1)
    blackString(str2)
     blackString(str3)

6.写一个函数,统计字符串里出现出现频率最多的字符

    function fn(str){
    var warp={}
    var num=0
    var maxValue;
    for(var i = 0; i<str.length; i++){
        if (warp[str[i]]) {
            warp[str[i]]++
        }else{
            warp[str[i]]=1
        }
    }
    for(var x in warp){
        if (warp[x]>num) {
            num=warp[x]
            maxValue=x
        }
    }
    console.log(maxValue)
}
fn("bbaaajjoooo")

7.写一个camelize函数,把my-short-string形式的字符串转化成myShortString形式的字符串,如

    function camelize(str) {
    var wrap=str.split("-");
    for(var i=1;i<wrap.length;i++){  
        wrap[i]=wrap[i][0].toUpperCase()+wrap[i].substr(1)
    }
     console.log(wrap.join(""))
}
camelize("background-color") //== 'backgroundColor'
camelize("list-style-image") //== 'listStyleImage'

8.写一个 ucFirst函数,返回第一个字母为大写的字符

 function camelize(str) {
        console.log(str[0].toUpperCase()+str.substring(1))
    }
    camelize("string")

9.写一个函数truncate(str, maxlength), 如果str的长度大于maxlength,会把str截断到maxlength长,并加上...,如

 function truncate(str, maxlength){
        if (str.length>maxlength) {
            console.log(str.substr(0,maxlength)+'...')
        }else{
            console.log(str)

        }
    }
    truncate("string123123123456", 10)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0、对于 HTTP 协议而言,HTML、CSS、JS、JSON 的本质都是什么? HTML就是符合HTML语法的字...
    怎么昵称阅读 1,634评论 0 3
  • 0、对于 HTTP 协议而言,HTML、CSS、JS、JSON 的本质都是什么? 1.对于HTTP协议而言,htm...
    saintkl阅读 587评论 0 0
  • 1、使用数组拼接出如下字符串。 2、写出两种以上声明多行字符串的方法。 如果长字符串必须分成多行,可以在每一行的尾...
    饥人谷_duoduo阅读 358评论 0 0
  • 1.使用数组拼接出如下字符串 };```function getTpl(data){var arr = "";fo...
    湖衣阅读 333评论 0 0
  • 1、使用数组拼接出如下字符串 2、写出两种以上声明多行字符串的方法 例如: var str = 'abcdeabc...
    饥人谷_Leon阅读 297评论 0 0