愿君学长松,慎勿作桃李。受屈不改心,然后知君子

切割字符串,转成对象形式?

纯手工敲打,详细的步骤说明!!!^_^

例题1:var url="http://baidu.com/item.html?a=1&b=2&c=&d=xxx&e";
目的:就是把这个字符串从?后边的数按照key:value的形式放在对象中 如:{a: "1", b: "2", c: "", d: "xxx", e: undefined}
 //  构造函数
  function getObj(url){
    var obj={}
    // 这点特别需要注意的,用正则表达式,先判断是否有?存在
    if(/\?/.test(url)){
      //1、获取问号的索引
      var index=url.indexOf('?')
      //2、根据索引分割?后边的字符串
      var Astr=url.substr(index+1)//a=1&b=2&c=&d=xxx&e
      //3、以&分割字符串转成数组
      var Aarr=Astr.split("&")//["a=1", "b=2", "c=", "d=xxx", "e"]
      //4、循环这个数组
      for(var i=0;i<Aarr.length;i++){
        var Cstr=Aarr[i]// a=1,b=2,c=,d=xxx
      //5、分割循环后的字符 例:a=1
        var Barr=Cstr.split("=") //["a","1"]
      //6、将数组Barr[0],Barr[1] 分别赋值给对象的键和值
        obj[Barr[0]]=Barr[1]
      }

    }
    // 7、返回这个对象
    return obj
  }
    
console.log(getObj(url))

例题2:

  需求:取出10-100 之间的取出10个数字把它们放在数组中,并排序
 //需求:取出n-m 之间的x个数字把它们放在数组中,并排序
   function getArr(start,end,count){
    var  arr=[];
    for(var i=0;i<count;i++){
      var num=Math.floor(Math.random()*(end-start)+start)
      arr[i]=num
    }
    arr.sort(function(a,b){
        return a-b
    })
    return arr
   }
 var result= getArr(10,100,10)
console.log(result)
 例题3:
字符串反转:如:‘123456’变成‘654321’
如果是数组反转的话,很好反转,直接使用arr.reverse(),就可以实现数组反转,而字符串如何反转呢?其实也特别简单
    var str='123456'
    var str2=str.split('').reverse().join('')
    console.log(str2)//654321

 

 
posted @ 2018-03-31 19:36  圣墨  阅读(857)  评论(0)    收藏  举报