JavaScript字符串与数组对象

标题字符串与数组对象

一、回顾

1、Math对象

  • Math.floor() : 向下取整

  • Math.ceil():往上取整

  • Math.round():四舍五入

  • Math.random() : 生成0-1之间随机数 包括0,不包括

    x-y

    Math.floor(Math.random()*(y-x+1)+x)

  • max,min,abs,sqrt,pow

2、时间对象

  • 创建时间对象 当前

    var oDate = new Date()

  • 创建时间对象 未来

    var newDate = new Date(年,月-1,日,时,分,秒)
    var newDate = new Date(“年,月,日,时:分:秒”)
    var newDate = new Date(“星期 月份 日 年,时:分:秒”) //西方

    //在当前时间的基础创建时间
    oDate.setDate(获取现在的时间+?)

  • 时间对象方法

    • oDate.getFullYear(); //年份
    • oDate.getMonth():月份 月份+1
    • oDate.getDate():日期
    • oDate.getDay():星期
    • oDate.getHours():小时
    • oDate.getMinutes():分钟
    • oDate.getSeconds():秒
    • Date.parse(字符串):将字符串格式的时间,转换为时间戳
  • 倒计时

    原理:未来的时间-当前的时候

    //1.创建一个未来时间
    var futrueDate = new Date(年,月-1,日,时,分,秒)

    //2.当前时间
    var currentDate = new Date();

    //3.计算两个时间之间的时间差
    var time = parseInt((futrueDate - currentDate)/1000);

    //4.换算,s
    var t = parseInt(time/86400);
    var h = parseInt(time%86400/3600);
    var m = parseInt(time%3600/60);
    var s = time%60

    s
    m = s / 60
    h = s /60 /60
    t = s /60 /60 /24

3、字符串对象

  • 字符串创建

    //字面量创建
    var str = “1212”;

    //new关键字创建
    var str = new String(“abc”);

  • 字符串方法

    • length:获取字符串的长度

    • charAt(下标):获取对应下标的字符

    • charCodeAt(下标):获取对应下标字符的编码

    • indexOf(searchStr,start):查找一个字符串在另一个字符串中首次出现的位置,有返回对应的下标,没有返回-1,判断字符串中是否有某个内容的存在

    • lastIndexOf(searchStr,start):查找一个字符串在另一个字符串中最后一次出现的位置,有返回对应的下标,没有返回-1,从后往前查找,判断字符串中是否有某个内容的存在

    • 截取:截取一段字符串

      • substring(start,end): 包括开始不包括结束

      • slice(start,end)

      • 区别:

        substring(3,-2) 负数默认为0
        slice(3,-2) 倒数第几个

      • substr(start,length)

    • replace(被替换的,替换的): 一次只能换一个

二、字符串对象

1、字符串创建

//1.通过关键字new
var str1 = new String(“abc”);

//2.字面量创建
var str2 = “abc”;

2、字符串属性

length:获取字符串的长度

3、字符串的方法

charAt(index)

  • 作用:获取字符串中对应下标的字符

  • 参数

    • index:下标

      var str = “37388888”;
      console.log(str.charAt(0)); //3

charCodeAt(index)

  • 作用:获取字符串对应下标字符的编码

  • 参数:

    • index:下标

      var str = “web”;
      console.log(str.charCodeAt(2)); //98 “0”-48 “A”:65 “a”-97

indexOf()

  • 作用:indexOf(searchStr[,start]):查询一个字符串在另一个字符串中首次出现的位置,有返回对应的下标位置,没有返回-1

  • 参数:

    • searchStr:查询的字符串
    • start:可选,开始查找的位置,默认是0

    var str = “uiwebuiwebuiwebui”;
    var index = str.indexOf(“web”);
    console.log(index); //2

    var index = str.indexOf(“java”);
    console.log(index); //-1 找不到返回-1

    var index = str.indexOf(“web”,4);
    console.log(index); //7

lastIndexOf()

  • 作用:lastIndexOf(searchStr[,start]):查询一个字符串在另一个字符串中最后一次出现的位置,有返回对应的下标位置,没有返回-1

  • 参数:

    • searchStr:查询字符串
    • start:可选。开始查找的位置,默认是str.length,从后往前找

    var str = “uiwebuiwebuiwebui”;
    var index = str.lastIndexOf(“web”);
    console.log(index);//12

    var index = str.lastIndexOf(“web”,6);
    console.log(index);//2

截取字符串

  • substring(start,end)

    • 作用:截取一段字符,包括开始,不包括结束
    • 参数:
      • start:开始截取的位置,默认是0
      • end:结束截取的位置,默认是str.length

    var s = str.substring();
    console.log(s); //ujiuyeweb

    var s = str.substring(3); //start:3,end:默认
    console.log(s); //uyeweb

    var s = str.substring(3,5);
    console.log(s);//uy

  • slice(start,end)

    • 作用:截取一段字符,包括开始,不包括结束
    • 参数:
      • start:开始截取的位置,默认是0
      • end:结束截取的位置,默认是str.length

    var s = str.slice(3); //uyeweb
    console.log(s);

    //3.区别
    var str = “abcdef”;
    console.log(str.substring(3,-1)); //abc 负数默认为0 3,0自动交换位置
    console.log(str.slice(3,-1));//de 负数:截取到倒数第几个

    var arr = ["[object Object]","[object Function]","[object Array]","[object String]"];
    //获取元素的具体的类型
    for(var i = 0;i<arr.length;i++){
    console.log(arr[i].slice(8,-1));//Object Function Array String
    }

  • substr(start,length)

    • 作用:截取字符串
    • 参数:
      • start:开始截取的位置
      • length:截取的个数

    var str = “web0824”;
    console.log(str.substr(3,2)); //从3开始,截取2个 08

replace(被替换的内容,替换的内容)

  • 作用:替换

    var str = “javauijavauijavaui”;
    //replace(被替换的内容,替换的内容)
    str = str.replace(“java”,“web”); //一次只能换一个
    console.log(str);

    for(var i = 0;i<3;i++){
    str = str.replace(“java”,“web”);
    console.log(str);
    }

大小写转换

  • toUpperCase() : 转大写

  • toLowerCase():转小写

  • 不区分大小写的比较

    //1.大小写转换
    var str = “Xy9rF”;
    var s = “xy9rf”;
    console.log(str==s); //false 用户体验不好

    //toUpperCase():转换为大写
    str = str.toUpperCase();
    console.log(str); //XY9RF

    //toLowerCase():转小写
    str = str.toLowerCase();
    console.log(str); //xy9rf

    //不区分大小写比较
    console.log(str.toLowerCase() == s.toLowerCase()); //true

trim:去除字符串首尾空格

//2.trim():去除字符串首尾空格
var str = " hello world! “;
console.log(”|"+str+"|");
console.log("|"+str.trim()+"|"); //|hello world!|

split

  • 作用:split(分割标志,length):将字符串按照特定的标志分割成数组

  • 参数

    • 分割标志

    • length:设置数组的长度

      var str = “2020/9/29”;
      var arr = str.split("/");
      console.log(arr); //[“2020”, “9”, “29”]

      var str = “abcd”;
      var arr1 = str.split("",1);
      console.log(arr1); //[“a”, “b”, “c”, “d”] [“a”]

  • 字符串转json

    有这样一个url:http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e,请写

一段js程序提取url中各个get参数(参数名和参数个数不确定),将其key-value

形式返回到一个json结构中,如{a:“1”,b:“2”,c:“”,d:“xxx”,e:undefined}

var url = “http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e”;

//1.获取url中参数(?号后面的)

//截取
/* var index = url.indexOf("?");
var str = url.substring(index+1);
console.log(str); //a=1&b=2&c=&d=xxx&e */

//分割
var str = url.split("?")[1];
console.log(str); //a=1&b=2&c=&d=xxx&e

//2.将get参数分割成一对一对
var arr = str.split("&");
console.log(arr); //[“a=1”, “b=2”, “c=”, “d=xxx”, “e”]

//3.将一组存储json结构
var strJson = {};
for(var i = 0;i<arr.length;i++){
var ar = arr[i].split("="); //[“a”,“1”]
strJson[ar[0]] = ar[1];
}
console.log(strJson);

4、常用

  • length
  • charAt()
  • charCodeAt()
  • indexOf()
  • 截取
    • substring(start,end)
    • slice(start,end)
    • substr(start,length)
  • replace
  • split

三、数组

数组:存储数据的容器,可以存储任意数据类型,可以存储任意多个

1、数组的创建

//字面量
var arr = [1,2,3,4];

//关键字new创建
var arr1 = new Array(1,2,3);
console.log(arr); //[1, 2, 3, 4]
console.log(arr1);//[1, 2, 3]

//如果参数只有一个并且是number类型,表示创建长度为n,值为empty的数组
var arr2 = new Array(4);
console.log(arr2); //[empty × 4]

2、数组方法

数组栈方法(数组添加和删除)

  • push pop:在数组的末尾添加或删除元素

    //push(items):在数组的末尾添加一个或多个元素,返回当前数组的长度
    arr.push(4);
    console.log(arr); //[1, 2, 3, 4]

    var len = arr.push(5,6);
    console.log(arr); //[1, 2, 3, 4, 5, 6]
    console.log(len); //6

    //pop():在数组的末尾删除一个元素,返回被删除的元素
    var del = arr.pop();
    console.log(arr); // [1, 2, 3, 4, 5]
    console.log(del); //6

  • unshift,shift:在数组的头部添加或删除元素

2.unshift,shift:在数组的头部添加或删除元素
var arr = [“a”,“b”,“c”];

//unshift(items):在数组的头部添加一个或多个元素,返回当前数组的长度
arr.unshift(1,2);
console.log(arr); //[1, 2, “a”, “b”, “c”]

//shift():在数组的头部删除一个元素,返回被删除的元素
arr.shift();
console.log(arr); //[2, “a”, “b”, “c”]

splice

  • 作用:splice(start,deleteCount,items):删除数组中一段连续的元素,返回被删除元素组成的数组

  • 参数:

    • start:开始删除的位置
    • deleteCount:删除的元素个数,默认删除到末尾
    • items:替换被删除的内容

//start:开始删除的位置
var arr = [1,2,3,4,5,6,7];
var delArr = arr.splice(2);
console.log(arr); //[1, 2]
console.log(delArr); //[3, 4, 5, 6, 7]

//start:开始删除的位置 deleteCount:删除的个数
var arr = [1,2,3,4,5];
arr.splice(1,2);
console.log(arr); //[1, 4, 5]

//start:开始删除的位置 deleteCount:删除的个数 items:替换被删除的内容
var arr = [1,2,3,4,5];

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值