js的学习之路(07)---String和数组的内置函数

本文介绍了JavaScript中字符串内置功能的深入使用,包括大小写转换、字符截取、URL参数解析及字符计数等。重点讲解了字符串操作方法如toUpperCase(), toLowerCase(), substr(), split()等,并通过实际例子展示了如何在笔试中运用这些知识。
摘要由CSDN通过智能技术生成

字符串内置功能(需要的时候直接搜 w3cshool)

 var str = "hello"
   document.write(str.big())//原字符串不会改变
   document.write(str.link("https://www.baidu.com/"))//创建a标签 链接(herf)
   document.write(str.anchor("www.baidu.com"))//创建a标签 描点(name) 不是链接(herf)
   document.write(str.big().bold())//连续调用
   document.write(str.fontcolor("blue"))//颜色

            比较重要
          

    var str="hello"
    document.write(str.toUpperCase())//字符串转大写
    document.write(str.toLowerCase())//字符串转小写
      //实现首字母大写功能
         String.prototype.capUppserCase = function() {
            var re = this[0].toUpperCase()
            for (var i = 1; i < this.length; i++) {
               re += this[i]
           }
                   return re
      }
            var a = str.capUppserCase()
            console.log(a)


            最重要

 var str="hello"
        document.write(str.substr(0,3))//截取字符型 第一个参数为从哪个开始(取下标 可以为负数 负数就倒着往前面数) 第二个参数表示截取几个
        document.write(str.substring(1,3))//取(1,3]区间的字符串 可以为负数 不是下标
        document.write(str.split("")) //字符串截子串 一个参数 以什么符号去分隔字符串 返回数组
        document.write(str.slice(1,4))//和substring同理
        document.write(str.indexOf("h",0))//返回子串出现的位置下标 没有返回-1 第二个参数表示从第几个下标开始查找 默认为0


            一个笔试题:把当前网页的url的参数解析为一个对象

   var url = 'http:www.baidu.com/?user=kare&page=10&count=100'
            function parseurl(str) {
                var querystring = str.split("?")
                var arr = querystring[1].split("&")
                var obj = {}
                for (var i = 0; i < arr.length; i++) {
                    var arr2 = arr[i].split("=")
                    for (var j = 0; j < arr2.length; j++) {
                        obj[arr2[0]] = arr2[1]
                    }
                }
                return obj
            }
            console.log(parseurl(url)) //{user: "kare", page: "10", count: "100"}

         
      设计一个函数 返回某一个字符出现的次数
          

  var str = "115105454411451"
            String.prototype.count1 = function(str) {
                var re
                var count = 0

                if (this.indexOf(str) == -1) {
                    console.log(0)
                } else {
                    do {
                        re = this.indexOf(str, re)
                        re++
                        count++
                    }
                    while (re != 0)
                    console.log(count-1)
                }
            }
            var a = str.count1("5")

 扩展

     var str="hello"
         str.age=20//隐式操作 因为字符串是基本数据 所有的基本数据当做对象使用时 它们的点语法 都会多一步隐式操作(隐式包装成一个对象)
       //隐式操作
         var str=new String("hello")
         str.age=20

         var re=str.age
         console.log(str.age)//20
      var str="hello"
            str.age=20
            var re=str.age
            console.log(str.age)//undefined

数组的内置函数

            //1.
            var arr=[10.20,30]
			var arr2=new Array()//[]
			var arr3=new Array(10)//[.lenght=10] 一个数是长度 全是undefined
			var arr4=new Array(10,20)//[10,20] 两个以上就是数组

            //2.
			var arr=[10,20,30]
			var arr2=["hello"]
			var arr3=[10,20,]
			var arr4= arr.concat(arr2)//将arr和arr2进行拼接成一个新数组
			console.log(arr4)//[10,20,30,"hello"]
			var re = arr.join()//把数组是元素按照join里的符号拼接成字符串 默认是,
			console.log(re)//10,20,30


            //3.
			var arr=[1,2,5,8]
			arr.pop()//删除数组的最后一个元素 返回值是新数组(里面是被删除的元素)
			var re = arr.push("1",2)//在数组的最后面添加元素 可以加多个
			console.log(arr)//[1, 2, 5, "1", 2]
			console.log(re)//5 返回数组长度

            //4.
			var arr=[1,2,3,4]
			arr.shift()//删除数组的第一个元素 返回值是新数组(里面是被删除的元素)
			arr.unshift("1",2)//在数组的最前面添加元素 可以加多个 返回值也是数组的长度
			console.log(arr)// ["1", 2, 2, 3, 4]


            //5.
			var arr=[1,2,3,4,5]
			var re=arr.splice(2,2,"hello","1")//从下标2的元素开始 删除两个元素 然后在删除的位置添加"hello"和"1"
			console.log(re)//[3, 4] 返回被删除的元素的数组
			console.log(arr)//[1, 2, "hello", "1", 5]


            //6.
			var arr = [1,2,3,4,[1,2,3]]
			arr.reverse()//翻转数组 只翻转调用函数的数组
			console.log(arr)//[[1,2,3],4, 3, 2, 1]


            //7.
			var arr=[1,5,9,20,21,4]
			arr.sort()//排序 按照表码排序 先比较第一位 一般用于名字排序
			console.log(arr)//[1, 20, 21, 4, 5, 9]
	

            //8.
			//所有数组的方法 返回的一个新数组 新数组中的元素 如果是以前数组中的引用数据那么是同一个引用 比如以下的案例
			var arr=[{name:'karen'},100,200]
			var arr2=[1,2,3,5]
			var re=arr.concat(arr2,90,20,30)
			console.log(re==arr2,re==arr,re)
			re[0].name="jack"
			console.log(arr)//name:jack 原数组也被改变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思考猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值