常见的字符串和数组方法

字符串(String)

1、String.charAt( ) 返回字符串中的第n个字符
示例:
let str = "Hello World";
console.log(str.charAt(1)); // e
console.log(str.charAt('a')); // H 因为 a 被转换为了数字 0

方法String.charAt()返回字符串string中的第n个字符。字符串中第一个字符的下标值是0。如果参数n不在0和string.length-1之间,该方法将返回一个空字符串。注意,JavaScript并没有一种有异于字符串类型的字符数据类型,所以返回的字符是长度为1的字符串。

2、String.charCodeAt( ) 返回字符串中的第n个字符的代码
示例:
let str = "Hello World";
console.log(str.charCodeAt(1)); // 101
console.log(str.charCodeAt('a')); // 72

方法charCodeAt()与charAt()执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的则是含有字符本身的子串。如果n是负数,或者大于等于字符串的长度,则charCodeAt()返回NaN。

3、String.concat( ) 连接字符串
示例:
let str = "Hello";
let newStr = str.concat(" World!!!");
console.log(str); // Hello
console.log(newStr); // Hello World!!!

方法concat()将把它的所有参数都转换成字符串(如果必要),然后按顺序连接到字符串string的尾部,返回连接后的字符串。注意,string自身并没有被修改。
String.concat()与Array.concat()很相似。注意,使用“+”运算符来进行字符串的连接运算通常更简便一些。

4、String.fromCharCode( ) 从字符编码创建—个字符串
示例:
console.log(String.fromCharCode(104,101,108,108,111)); // hello

这个静态方法提供了一种创建字符串的方式,即字符串中的每个字符都由单独的数字 Unicode编码指定。注意,作为—种静态方法,fromcharCode()是构造函数 String()的属性,而不是字符串或String对象的方法。

5、String.indexOf( ) 和String.LastIndexOf( ) 检索字符串
示例:
let str = "Hello World";
console.log(str.indexOf('l')); // 2
console.log(str.lastIndexOf('l')); // 9

indexOf() 和 lastIndexOf()这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置,没有找到就返回-1,两个方法的区别在于一个是从前面找一个是从后面找

6、String.slice( ) 抽取一个子串
示例:
let str = "Hello World";
let str2 = str.slice(2);
let str3 = str.slice(2,7); // 不包括 7
console.log(str); // Hello World
console.log(str2); // llo World
console.log(str3); // llo W

方法slice()将返回一个含有字符串string的片段的字符串或返回它的一个子串。 但是该方法不修改string。

7、String.substr( ) 抽取一个子串
示例:
let str = "Hello World";
let str2 = str.substr(2);
console.log(str2); // llo World
str2 = str.substr(2,7); // 要返回的字符个数
console.log(str2); // llo Wor

substr()将在string中抽取并返回一个子串。但是它并不修改string。
注意,substr()指定的是子串的开始位置和长度,它是String.substring()和String.splice()的一种有用的替代方法,后两者指定的都是起始字符的位置。但要注意,ECMAScript没有标准化该方法,因此反对使用它。

8、String.substring( ) 返回字符串的一个子串
示例:
let str = "Hello World";
let str3 = str.substring(2);
console.log(str3); // llo World
str3 = str.substring(2,7); // 结束位置为7,不包括7
console.log(str3); // llo W

返回字符串string的子串,由from到to之间的字符构成, 包括位于from的字符,不包括位于to的字符。
如果参数from与to相等,那么该方法返回的就是一个空串(即长度为0的字符串)。 如果from比to大,那么该方法在抽取子串之前会先交换这两个参数。
要记住,该子串包括from处的字符,不包括to处的字符。虽然这样看来有违直觉, 但这种系统一个值得注意重要特性是,返回的子串的长度总等于to-from。

9、String.toLowerCase( )和String.toUpperCase( ) 把字符串转换大小写
示例:
let str = "HELLO";
console.log(str.toLowerCase()); // hello
str = "hello";
console.log(str.toUpperCase()); // HELLO

String.toLowerCase( ):返回string的一个副本,其中所有大写字符都被转换成了小写字符。
String.toUpperCase( ):返回string的一个副本,其中所有小写字符都被转换成了大写的。

数组(Array)

1、push()和pop()方法
示例:
let arr = [];
let i = arr.push("red","blue");
console.log(arr); // [ 'red', 'blue' ]
console.log(i); // 2
let j = arr.pop();
console.log(arr); // [ 'red' ]
console.log(j); // blue

push():将把它的参数顺次添加到array的尾部。它直接修改array,而不是创建—个新的数组。
pop():将删除array的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,返回undefined。
方法push()和方法pop()用数组提供先进后出栈的功能。

2、shift()和unshift()方法
示例:
let arr = ["red","green","pink"];
let item = arr.shift();
console.log(item); // red
console.log(arr); // [ 'green', 'pink' ]
let i = arr.unshift("blue");
console.log(arr); // ["blue","green","pink"]
console.log(i); // 3 数组的新长度

unshift():将把它的参数插入array的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组新的元素0,如果还有第二个参数,它将成为新的元素1,以此类推。注意,unshift()不创建新数组,而是直接修改原有的数组。
shift():将把array的第—个元素移出数组,返回那个元素的值,并且将余下的所有元素前移一位,以填补数组头部的空缺。如果数组是空的,shift()将不进行任何操作,返回undefined。注意,该方法不创建新数组,而是直接修改原有的数组。

3、concat()方法
示例:
let arr = [1,2,3];
let arr2 = arr.concat("red","blue");
console.log(arr);//[ 1, 2, 3 ]
console.log(arr2);//[ 1, 2, 3, 'red', 'blue' ]

concat():将创建并返回一个新数组,这个数组是将所有参数都添加到array中生成的。它并不修改array。如果要进行concat()操作的参数是一个数组,那么添加的是数组中的元素,而不是数组。

4、slice()方法
示例:
let arr = [1,2,3,4,5,6,7,8,9,10];
// 一个参数
let i = arr.slice(3);
console.log(i); // [ 4, 5, 6, 7, 8, 9, 10 ]
console.log(arr); // [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
// 两个参数
let j = arr.slice(2,6);
console.log(j); // [ 3, 4, 5, 6 ]
console.log(arr); // [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
如果传入的是负数,则用数组的长度加上该数来确定位置。示例:
let arr = [1,2,3,4,5,6,7,8,9,10];
// 一个参数
let i = arr.slice(-3);// 等价于slice(7)
console.log(i); // [ 8, 9, 10 ]
// 两个参数
let j = arr.slice(-6,-2); // 等价于slice(4,8)
console.log(j); // [ 5, 6, 7, 8 ]
// 不满足条件返回空数组
let k = arr.slice(-2,-6); // 等价于slice(8,4)
console.log(k); // []

slice():将返回数组的一部分,或者说是一个子数组。返回的数组包含从start 开始到end之间的所有元素,但是不包括end所指的元素。如果没有指定end,返回的数组包含从start开始到原数组结尾的所有元素。
注意:该方法并不修改数组。

5、splice()方法
示例:
//删除
let arr = [1,2,3,4,5,6,7,8,9,10];
// 从下标为3的元素开始删除,删除5个元素
// 将删除的元素返回给i
let i = arr.splice(3,5);
console.log(i); // [ 4, 5, 6, 7, 8 ]
console.log(arr); // [ 1, 2, 3, 9, 10 ]

//插入
let arr = [1,2,3,4,5,6,7,8,9,10];
// 下标为3的元素之前开始插入 提供三个参数:起始位置,0 (要删除的项目),要插入的项目
let i = arr.splice(3,0,"red","blue");
console.log(i); // []
console.log(arr);
// [ 1, 2, 3, 'red', 'blue', 4, 5, 6, 7, 8, 9, 10 ]

//替换
let arr = [1,2,3,4,5,6,7,8,9,10];
//从下标为3的元素之前开始插入
//插入多少,刚好就删除多少
let i = arr.splice(3,2,"red","blue");
console.log(i); // [ 4, 5 ]
console.log(arr);
// [ 1, 2, 3, 'red', 'blue', 6, 7, 8, 9, 10 ]

splice():将删除从start开始(包括start所指的元素在内)的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。位于插入或删除的元素之后的数组元素都会被移动,以保持它们与数组其他元素的连续性。注意,虽然spllce()方法与slice()方法名字相似,但作用不同,方法splice()直接修改数组。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值