字符串和数组的方法总结
前言
提示:在前期学习和后期应用,都要频繁使用字符串和数组的方法。
例如: 前期js ,jq ,后期vue,vue尤其需要扎实的数组操作方法基础。当然面试也是经常会被问道数组方法。
提示:以下是我总经结的字符串与数组的方法,包括概念和代码展示,以及我自己认为最重要的结果演示。
一、字符串的常用方法
示例:字符串的修改,原字符串都不会发生改变。
1.String对象常用方法:
字符串操作均不影响原字符串。
String对象常用方法:
1.
length属性,返回字符串的长度,只读。
2.
charAt(n) 显示索引为n的字符 n 从0开始。
3.
concat()与目标字符串进行拼接。
4.
startsWith() endsWith() : 是否以指定的字符串开头或结尾。
5.
indexOf 返回字符串在当前字符串第一次出现的位置,如果存在,则大于等于0,如果不存在,返回-1。当指定第二参数的时候,表示从哪个位置开始向前查找。
6.
lastIndexOf 返回字符在当前字符串最后一次出现的位置,如果存在,则大于等于0,如果不存在,返回-1.当指定第二参数的时候表示从那个位置开始向前查找。
7.
replace(a,b)字符串替换,将字符串中的a替换成b。如果a的类型是字符串,则只替换一次,a也可以是正则表达式。(/a/g)表示替换所有的a
8.
split()函数,按照指定的分隔符将字符串分割成一个数组。常用。
9.
substr(a,b)截取字符串,从a开始截取,一共截取b个字符。
10.
substring(a,b)截取字符串,从a开始截取到b,包含a,但不包含b(而是不包含最后一个)
11.
toLowerCase() 及toUpperCase() 将字符串转换成小写,及大写
12.
trimLeft(),trimRight(),trim() 去除字符串两端的空白。
2.String对象常用方法代码及其输出结果:
var str = "赵彩虹是什么玩意?傻逼u,没错就是傻逼u,uuuu大家知道彩虹屁是啥吗?";
var str1 = "赵彩虹";
var str2 = "傻逼";
var str3 = "王文聪00oo05689"
var str4 = "王 文 聪 9 9 8 7"
var str5 = " A Cat "
// 输出结果 ↓
console.log(str);
// 1.返回字符串长度 3
console.log(str1.length);
// 2.显示索引为4的字符 什
console.log(str.charAt(4));
// 3.对字符串str1 和str2 进行拼接 赵彩虹傻逼
console.log(str1.concat(str2));
// 4.是否以指定字符串开头或结尾 true true
console.log(str1.startsWith("赵"),str1.endsWith("虹"));
// 5.返回字符串在当前字符串第一次出现的位置 没找到则返回-1 可以有第二个值 第二个值表示从哪个索引开始。
// 9 -1 17
console.log(str.indexOf("傻逼"),str.indexOf("王"),str.indexOf("傻逼",11));
// 6 lastIndexOf() 和indexOF唯一的区别就是从后往前开始找
// 7. 字符串替换 正常只能替换一次 利用正则表达式可以替换全部
// 小可爱00oo05689 王文聪00oo05689 王文聪o0oo05689 王文聪ooooo5689
console.log(str3.replace("王文聪","小可爱"),str3,str3.replace(/0/,"o"),str3.replace(/0/g,"o"));
// 8. 按照指定的分隔符将字符串分割成数组 ["王", "文", "聪", "9", "9", "8", "7"]
console.log(str4.split(" "));
// 9. 截取字符串 从下标9开始截 一共截2个字符 傻逼
console.log(str.substr(9,2));
// 10.截取字符串 从下标9开始截 截到2 虹是什么玩意?
console.log(str.substring(9,2));
// 11.将字符串转换成小写、及大写;
console.log(str5.toLowerCase(),str5.toUpperCase());
/* 12. 去除字符串两端的空白。可以选择左右和全部 ,去除左边空白 A Cat
不做操作 A Cat
设置右边空白 设置左右都空白 A Cat没有间隙了 A Cat没有间隙了 */
console.log(str5.trimLeft()+"\n",str5+"\n",str5.trimRight()+"没有间隙了",str5.trim()+"没有间隙了");
二、数组的常用方法
1.数组对象常用方法:
红色表示表示对原数组不产生影响
绿色表示产生影响
数组的常用方法:
1.
length属性,只读。
2.
concat()与目标数组进行拼接。返回一个新的数组,原数组不变。
3.
forEach()函数,对数组中的每一个元素进行遍历处理。参数是一个函数,此函数用于对每个数组元素进行处理。
4.
indexOf和lastIndexOf:在数组中查找指定的元素,找到则返回其索引,找不到返回-1。支持第2个参数,如果有第2个参数,表示从指定的第2个参数的位置开始查找。
5.
join函数是split函数的逆操作。将数组元素使用指定的分隔符连接起来
6.
push在数组的尾部添加一个值
7.
pop在数组的尾部弹出一个值,作为函数返回值,同时在数组中将此元素删除。
8.
unshift在数组的头部添加一个值。
9.
shift在数组的头部弹出一个值,作为函数返回值,同时在数组中将此元素删除。
10.
reverse()将数组的元素首位颠倒。原数组也会发生改变。
11.
sort()对数组的元素进行排序。参数是一个函数。
12.
slice(start,end)截取数组元素,返回截取后的数组,从开始位置截取到结束位置
13.
splice()函数,从开始位置截取,一共截取多少个,同时会影响原数组。
2.数组对象常用方法代码
代码如下(示例):
// 数组方法
var arr = [28,98,67,33,47,45,38,67,68,51];
var arr1 = [1,2,3];
var arr2 = [4,5,3,6];
console.log()
// 方法的解释和使用 ↓ 结果输出 ↓
// 1.length属性,只读 7
console.log(arr.length);
// 2.将arr1 和 arr2 进行拼接 [1,2,3,4,5,6]
console.log(arr1,arr2,arr1.concat(arr2),arr1,arr2);
// 3. forEach()函数,对数组中的每一个元素进行遍历处理。参数是一个函数,此函数用于对每个数组元素进行处理。
// ↑↑↑↑↑↑↑↑↑↑↑↑ 上边有
// 在数组中查找 指定的元素,找到则返回其索引,找不到返回-1 支持第二个参数 从第二个参数开始找
// 2 5
console.log(arr.indexOf(67),arr.indexOf(67,3));
// 两者之间唯一区别是开始位置的前后 5 2
console.log( arr.lastIndexOf(67),arr.lastIndexOf(67,4));
// join函数是split函数的逆操作。将数组使用指定的分隔符连接起来
// 123
console.log(arr1.join(""),arr1);
// push在数组的尾部添加一个值 返回字符串长度
// 4 5 [1,2,3,3,4]
console.log(arr1.push(3),arr1.push(4),arr1);
// pop在数组的尾部弹出一个值,作为返回值 原数组将删除此元素
// 3 [1,2,3,3]
console.log(arr1,arr1.pop(3),arr1);
// unshift在数组的头部添加一个值。返回字符串长度
// 4 [3,4,5,6]
console.log(arr2.unshift(3),arr2);
// shift 在数组头部弹出一个元素 作为返回值 原数组将删除此元素
// 3 [4,5,6]
console.log(arr2.shift(3),arr2);
// reverse() 将数组的元素首位颠倒。原数组也会发生变化
// 函数的输出和原数组的输出一致 [6,5,4] [6,5,4]
console.log(arr2.reverse(),arr2);
// sort()对数元素进行排序 sort()自身有bug 只能排列个位数要改进一下
// 方法输出和原数组一样 [28,38,45,51,67,67,68,98]
console.log(arr.sort(),arr);
// 两种改进方法
// 方法一
// [98, 68, 67, 67, 51, 47, 45, 38, 33, 28]
var sortarr = arr.sort(function(a,b){
// return a - b; // 升序排列
return b - a; // 降序排列
})
console.log(sortarr);
// 方法二
// [28, 33, 38, 45, 47, 51, 67, 67, 68, 98]
var sortarr2 = arr.sort(function(a,b){
// return a<b ? 1 : -1 // 降序排序
return a>b ? 1 : -1 // 升序排序
})
console.log(sortarr2);
// slice(start , end) 截取数组元素,返回截取后的数组,从开始位置截取到结束位置。对原数组没有影响
// 取2号位取不到6号位 [28, 33, 38, 45, 47, 51, 67, 67, 68, 98] [38, 45, 47, 51]
console.log(arr,arr.slice(2,6),arr);
// splice()函数,从开始位置截取,一共截取多少个同时会影响原数组
// 从索引号2开始截取4个 [ 38, 45, 47, 51]
console.log(arr.splice(2,4),arr);
简单汇总
提示: 小汇总不全面但是可以截图或记在本子上,时常翻看用多了就会应用的更好,12为分界线12前面的介绍字符串,后边介绍数组。
- length:返回字符串长度。
- charAt(4):显示索引为4的字符。
- concat :拼接字符串,写法:str1.concat(str2);
- startwith:(‘始’)是否以“始”开头,endswith(‘末’)是否以末结束。
- indexOf:(‘可’)查找字符"可"找到返回索引找不到返回-1 ,indexOf(“可”,2)表示从第二号索引开始查找 lastIndexOf()表示从后往前找。
- replace:(“爱”,"")将“爱”替换为空。
- split:(",")将字符串以,为分隔分成数组。
- substr(9,2):从9号开始截取2个。
- substring(9,2)从9号开始截到2号。
- toLowerCase() toUpperCase() 大小写转换 。
- trimLeft,trimRight,trim 去除两端空袭。
- length,concat,indexOf,lastIndexOf 与字符串的操作相同。
- jion(" ,")是split(" ,")的反向操作。
- push(4)在数组后添加元素。
- pop(3)在数组后弹出一个元素3。
- unshift在数组前加一个元素。
- shift在数组前弹出一个元素。
- reverse()将数组颠倒。
- sort()将数组排序。
- slice(9,2)从9开始截到2。
- splice(9,2)从9开始截2个,原数组删除所截部分。
- filter(条件)选中满足条件的元素原数组不变。
提示:数组内有变异方法,变异方法是对原数组进行改变,
变异的有:push()、pop()、shift()、unshift()、splice()、sort()、reverse();
总结
提示:看起来都是数据可能有点乏味,但是一定要认真掌握。
以上就是今天要讲的内容,本文仅仅简单归纳总结了字符串与数组的常用方法,掌握这些方法能使我们在做项目或日常编程中更快捷更熟练,加油。
联系方式:
微信:Congcong9987
QQ: 1160005720、89677498