前端基础11:数组和字符串常用方法

数组

  • 数组是对象类型的数据,是对象当中细分出的类型,对象中属性名是数字,只能以方括号的方式获取。 -为了后期能更多方式去操作对象,把属性名是数字的对象单独独立成数组类型
  • 定义数组方式

    • var obj = {0:'a',1:'b',3:'c'}相当于var arr = ['a','b','c'] 数字属性名是从0依次递增的
  • 数组定义:

    • var arr = [] 字面量方式
    • var arr = new Array() 构造函数方式
  • 每个数组中都有一个length属性,表示数组的个数

  • 数组的方法

    • 内部已经封装好的功能,可以直接调用
      • 了解:1.方法的含义 - 2.方法是否需要传参 - 3.方法的返回值是什么 - 4.原有数组是否发生改变

原有数组不改变:

  • 1.toString() 将数组转换成字符串
    var a = [1,2,3,2,5,67];
    console.log(a.toString());//"1,2,3,2,5,67"
复制代码
  • 2.join() 将数组按照指定的字符拼接成字符串 参数:指定的字符或不传,传一个空字符串返回“123456”,若不穿返回和toString返回值相同
    var a = [1,2,3,2,5,67];
    var res = a.join("+");
    console.log(res);//"1+2+3+2+5+67"
复制代码
  • 3.eval() 全局下的方法,将字符串转换成JS代码执行
	console.log(eval(1 + 2 + 3 + 2 + 5 + 67));//80
复制代码
  • 3.concat 合并数组的方法 返回值:返回合并后的数组 ,没有传参表示克隆
    var a = [1,2,3,2,5,67];
    var b = [10,20];
    var res = a.concat(b);
    console.log(res);//[1, 2, 3, 2, 5, 67, 10, 20] 将数组b合并到数组a后 传给res
    var res = [].concat(a,b);//将数组a和数组b合并到空数组后 传给res
    var res = a.concat('a',b);//[1, 2, 3, 2, 5, 67, "a", 10, 20]
复制代码
  • 4.slice 用来截取数组中的某些项 参数可以是一个或两个 不传参数相当于将原数组克隆一份,有参数slice(n,m)从索引n截取到索引m(包前不包后)
    var a = [1,2,3,2,5,67];
    var res = a.slice(2,4);
    console.log(res);//[3, 2]
复制代码
  • n和m还可以为负数slice(-3,-1)从倒数第三项截取到倒数第一项不包含倒数第一项
var a = [1,2,3,2,5,67];
    var res = a.slice(-4,-2);
    console.log(res);//[3, 2]
复制代码
    1. indexof()和lastindexof() 查找数组是否有这一项,若有则返回这一项索引,若没有则返回-1
  - indexof()从左往右查找
复制代码
	var a = [1,2,3,2,5,67];
	console.log(a.indexOf(9));//-1
复制代码
  - lastindexof()从右往左查找
复制代码
    var a = [1,2,3,2,5,67];
    console.log(a.lastIndexOf(2));//3
    console.log(a.indexOf(2));//1
复制代码
  • indexof()和lastindexof()可以有第二个参数,表示设置起始查找位置
    var a = [1,2,3,2,5,67];
    console.log(a.indexOf(2, 1));//1
    console.log(a.indexOf(2, 2));//3
    console.log(a.indexOf(2, 10));//-1
复制代码

原有数组改变:

  • 1.push 往数组末尾添加内容 参数:添加的内容,返回值:添加后数组的长度
	var a = [1,2,3,2,5,67];
    a.push(6,7)
    console.log (a); //[11,11,1,2,3,2,5,67,6,7]
    console.log(res)//10
复制代码
  • 2.unshift 往数组起始添加内容 参数:添加的内容,返回值:添加后数组的长度
	var a = [1,2,3,2,5,67];
    var res = a.unshift(11,11);
	console.log (a); //[11,11,1,2,3,2,5,67]
    console.log(res)//8
复制代码
  • 3.pop 删除数组的最后一项 参数:无,返回值:删除的内容
	var a = [1,2,3,2,5,67];
	var res = a.pop();
	console.log (a); //[1,2,3,2,5]
    console.log(res)//67
复制代码
  • 4.shift 删除数组的第一项 参数:无,返回值:删除的内容
    var a = [1,2,3,2,5,67];
    var res = a.shift();
    console.log (a); //[2,3,2,5,67]
    console.log(res)//1
复制代码
  • 5.splice 参数有三个
  - 一个参数:splice(n) 从索引n开始删除到最后 返回值是将删除的内容放在一个新数组中返回
复制代码
    var a = [1,2,3,2,5,67];
    var res = a.splice(2);
    console.log (a); //[1,2]
    console.log(res); //[3,2,5,67]
复制代码
  - 两个参数:splice(n,m) 从索引n开始删除m项 返回值是将删除的内容放在一个新数组中返回
复制代码
    var a = [1,2,3,2,5,67];
    var res = a.splice(2,3);
    console.log (a); //[1,2,67]
    console.log(res); //[3,2,5]
复制代码
  - 三个参数:splice(n,m,x)从索引n开始删除m个并用x的内容来代替删除的内容,返回值是将删除的内容放在一个新数组中返回
复制代码
    var a = [1,2,3,2,5,67];
    var res = a.splice(2,3,4,4);
    console.log (a); //[1,2,4,4,67]
    console.log(res); //[3,2,5]
复制代码
  - 若第二参数为0 表示从索引n之前添加数组
复制代码
    var a = [1,2,3,2,5,67];
    var res = a.splice(0,0,4,4);
    console.log (a); //[4,4,1,2,3,2,5,67]
    console.log(res); //[]
复制代码
    1. reverse 将数组反向排列 参数:无 返回值:反向排列后的数组
	var a = [1,2,3,2,5,67];
    var res = a.reverse();
    console.log(res);//[67, 5, 2, 3, 2, 1]
复制代码
    1. sort
  - 不加参数:只能对10以内的数进行排序,按照unicode编码(ASCII码)进行排序
复制代码
    var a = [1,2,3,2,5,67,55,43,22];
    var res = a.sort();
    console.log(res);//[1, 2, 2, 22, 3, 43, 5, 55, 67]
复制代码
  • 加函数:
	var a = [1,2,3,2,5,67,55,43,22];
    var res = a.sort(function (a,b) {
//        return (a-b); //从小到大 [1, 2, 2, 3, 5, 22, 43, 55, 67]
        return (b-a); //从大到小 [67, 55, 43, 22, 5, 3, 2, 2, 1]
    })
复制代码

字符串

字符串常用方法

  • 1.charAt 根据索引查找字符若找不到则返回空字符串
    var str = 'sdasfrg';
    var res = str.charAt(3);
    console.log(res);//s
    var res = str.charAt(100);
    console.log(res);//''
   
复制代码
  • 2.charCodeAt 根据索引返回对应的ASCII码值
    var str = 'sdasfrg';
    var res = str.charCodeAt(3);
    console.log(res);//115
    var res = str.charCodeAt(100);
    console.log(res);//NaN
复制代码
截取字符串的方法

以下方法若只有一个参数表示从索引n截取到最后

    1. substr(n,m) 从索引n开始截取m个
	var str = 'sdasfrg';
    var res = str.substr(2,3);
    console.log(res);//asf
复制代码
  • 2.substring(n,m) 从索引n截取到索引m(包前不包后)n可以为负数,当会把负数当成0
	var str = 'sdasfrg';
    var res = str.substr(2,3);
	var res = str.substring(2,3);//a
复制代码
  • 3.slice(n,m)从索引n截取到索引m(包前不包后)可以负数索引,为倒数第几截取到索引m
	var str = 'sdasfrg';
	var res = str.slice(-4,-2);//sf
复制代码
  • 4.split 将字符串按照指定的字符拆分成数组中的每一项
    var a = "2018-8-28";
    var res = a.split("-");
    console.log(res);//["2018", "8", "28"]
复制代码

传空字符串

   var a = "2018-8-28";
   var res = a.split("");
   console.log(res);//["2", "0", "1", "8", "-", "8", "-", "2", "8"]
复制代码

不加参数

   var a = "2018-8-28";
   var res = a.split("");
   console.log(res);//["2018-8-28"]
复制代码
  • 5.toUpperCase 全部转换成大写
	var str = 'sdasfrg';
	var res = a.split();
    var res = str.toUpperCase();//SDASFRG
复制代码
  • 6.toLowerCase 全部转换成小写
	var str = 'sdasfrg';
	var res = a.split();
	var res = str.toLowerCase();//sdasfrg
复制代码
  • 7.indexOf 从左往右查找,找到返回字符索引,找不到返回-1
    var str = 'sdasfrg';
    var res = str.indexOf('d');
    console.log(res);//1
复制代码
  • 8.lastIndexOf 从右往左查找,找到返回字符索引,找不到返回-1
    var str = 'sdasfrg';
    var res = str.indexOf('b');
    console.log(res);//-1
复制代码
  • 9.replace 替换字符串,返回值是替换后的结果
    var str = 'sdasfrg';
    var res = str.replace("sd","wang")
    console.log(res);//wangasfrg
复制代码

转载于:https://juejin.im/post/5b854487f265da431c6276d3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值