js数组API和字符串API汇总

本文详述了JavaScript中的数组和字符串API,包括拼接、截取、排序、搜索等核心方法,提供了丰富的示例代码,帮助读者快速掌握JS编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js数组API和字符串API汇总

这段时间刚刚学习了API,真的多记不住啊需要整理一下~~~

数组API

拼接:arr.concat(“a”,“b”,arr1) 将其他元素或另一个数组,拼接到数组的结尾
例:

var arr = [1,2,3];
var arr1 = [4,5,6];
var new_arr = arr.concat(arr1);
var new_arr1 = arr.concat(5,6,7,8,9);
console.log(String(new_arr));
console.log(String(new_arr1));
//返回 1,2,3,4,5,6
     //1,2,3,5,6,7,8,9

强调:
(1)不会修改原数组,返回新数组。
(2)concat方法中的数组会被打散为单个元素再拼接。

拼接:String(arr) 数组转字符串:String(arr)或arr.toString()
例:

var arr = [1,2,3];
console.log(String(arr));
 //输出 1,2,3

返回值 : string,将数组中的元素用逗号连接成字符串,类似于arr.join(",")

连接:arr.join(“连接符”)
将数组中的每个元素转为字符串,通过自定义的连接连接

例:

var arr = [1,2,3];
console.log(arr.join(""));
//输出 123

固定写法 : 无缝连接,也可以加其他连接符号,如 上的栗子

截取:arr.slice(start[,end]) 从原数组中指定位置到结束位置之间所有的元素,组成一个临时子数组
例:

var arr = [1,2,3,5,6,7,8,9];
var new_arr = arr.slice(3, 6);
console.log(new_arr);
//返回 [5,6,7]

//省略第二个参数,从指定位置一直截取到结尾
console.log(arr.slice(6));
//返回 [8,9]
// 支持负数参数  -n ==> arr.lenght - n
console.log(arr.slice(2,-3));
//输出 [3, 5, 6, 7]

强调:(1)不会修改原数组,返回新的子数组。
(2)含头不含尾。
(3)省略第二个参数表示从start位置开始一直截取到末尾。
(4)支持负数,表示倒数第几个。

删除、插入、替换:arr.splice(start,n[,value1,value2…])
(1)删除 splice()(开始下标,删除的个数插入的值)

var arr = [1, 2, 3, 4, 5];
var result = arr. splice(3,2);
console.log(result);// 4,5
console.log(arr);//[1,2,3]

(2).插入 第二个参数写0 表示一个都不删除,返回值:[]

var arr = [1, 2, 3, 4, 5];
var result = arr.splice(2, 0, 'a', 'b')
console.log(result); //[]
console.log(arr);//[1, 2, "a", "b", 3, 4, 5]

(3) 替换 插入的元素个数必须要和删除的元素个数相等
例:

var arr = [1, 2, 3, 4, 5];
var result = arr.splice(1, 2, 'aa', 'bb')
console.log(result); //[2, 3]  替换的元素
console.log(arr);//[1, "cc", "dd", 4, 5]

强调:
(1)直接修改原数组。
(2)返回所有被删除元素组成的子数组。
(3)如果是插入,删除了0个数,那么从start位置开始以及之后的元素会被顺移。

翻转数组:arr.reverse()

var arr = [1, 2, 3, 4, 5];
console.log(arr.reverse());
//输出  [5, 4, 3, 2, 1]

强调:(1)直接修改原数组。

数组排序:arr.sort()

var arr = [3,2,5,6,1];
console.log(arr.sort());
//输出 [1, 2, 3, 5, 6]

强调:
(1)直接修改原数组。
(2)默认按照数组元素第一位的ASCII码从小到大排列。
(3)可以设置下列的比较器函数来控制升序,降序或者打乱。
(4)arr.sort(function(a,b){return a-b;}); 升序(只限数组中是数字或者数字字符串)。
(5)arr.sort(function(a,b){return b-a;}); 降序(只限数组中是数字或者数字字符串)。
(6)arr.sort(function(){
return Math.random()>.5 ? 1 : -1;
});随机打乱数组(数组中可以是任何数据类型)

查找:arr.indexOf(value[,from])或arr.lastIndexOf(value[,from])

var arr = [4,3,6,7,8,9];
console.log(arr7.indexOf(4));
//输出 0 

强调:(1)返回value在数组中的位置,没有找到返回-1。

数组末尾添加元素(结尾入栈) push()
例:

var arr = [1, 2, 3, 4, 5];
var result = arr.push('a'); 
console.log(result); //输出 6
console.log(arr);//[1, 2, 3, 4, 5, "a"]

强调:
(1)修改原数组。
(2)返回新数组的length。
(3)追加进去的数组不会被打散。

**将数组末尾的元素删除(结尾出栈) :pop() **
例:

var arr = [1, 2, 3, 4, 5];
var result = arr.pop(); 
console.log(result); //输出 5
console.log(arr);//[1, 2, 3, 4]

强调:
(1)修改原数组。
(2)返回被弹出的元素。

数组的开头添加一个元(素开头入栈):arr.unshift(value)

var arr = [1, 2, 3, 4, 5];
var result = arr.unshif('a'); 
console.log(result); // 6
console.log(arr);//[a,1, 2, 3, 4]

强调:
(1)修改原数组。
(2)返回新数组的length。

删除数组开头的元素 返回值是被删除的元素(开头出栈):arr.shift()

var arr = [1, 2, 3, 4, 5];
var result = arr.shift(); 
console.log(result); // 1
console.log(arr);//[2, 3, 4, 5]

强调:(1)修改原数组。
(2)返回被弹出的元素。

二、字符串API

前面的是数组AP下面的就是字符串的API啦

**截取:
(1)str.slice(from[,end]) 将原字符串,按指定字符分割为多个子字符串
(2)str.substring(start[,end])
**
例:

var str = "good good";
var result = str.slice(2,5)
console.log(result); // 输出 od (空格占位)
console.log(str);// 原字符串

console.log(str.str.substring(1,3)) // 输出 oo

强调:(1)slice和substring用法类似,只是slice支持负数,而substring的负数会被转换成0,然后截取0和start之间字符。

分割:str.split(“分割符”) 将原字符串,按指定字符分割为多个子字符串
例:

var email = "zizi@qq.com";
var arr = email.splice(/@/);
console.log(arr);// 输出 [zizi,qq.com]

强调:
输出为数组

查找:str.indexOf(value[,from])或str.lastIndexOf(value[,from])
例:

var str = "good good";
result = str.indexOf('good')
console.log(result); //输出0

console.log(str.lastIndexOf("o"));//7

强调:
(1)indexOf()只查找第一个,找不到返回-1。
(2)lastIndexOf()只查找最后一个;

替换:str.replace(“被替换字符”,“替换字符”)

var str = "Xun xun mi mi leng leng qing qing";
var result = str.replace(/xun/ig, "mi");
console.log(result);
//输出 mi mi mi mi leng leng qing qing

强调:(1)只会替换第一个,如果要替换所有符合条件的字符可以使用正则g,i忽略大小写。

拼接:str.concat(value)
例:

var hero = "jack",
heroine = "rose";
var result = hero.concat(" " + heroine);
console.log(result); //输出 jack rose

强调
(1)不改变原字符串
(2)把value拼接到str上,效果类似于str+value

获取指定位置字符:str.charAt(index)
例:

var str = 'abcdefghj';
console.log(str.charAt(5));
//输出 f

去掉字符串前后空格:str.trim()
例:

var str3 = "    hello word";
console.log(str3.trim());//输出:hello word

强调:
(1)只去掉前面的空格

字符串转ASCII:str.charCodeAt(index)

ASCII转字符串:String.fromCharCode(Unicode)

** 转大写字母:str.toUpperCase()**

** 转小写字母:str.toLowerCase()**
这几个就不一一举例了

匹配正则的API

str.indexOf(value[,from])
强调:(1)只能查找第一个匹配的位置,没找到返回-1,可用循环改变from查找所有。

str.search(reg)
强调:
(1)仅判断有没有。
(2)只返回第一个匹配的位置,没找到返回-1。
(3)支持正则(不支持g,支持i)。

str.match(reg)
强调:
(1)返回所有正则匹配的字符串组成的数组,没找到返回null。
(2)支持正则,正则表达式必须带g,才能返回所有匹配的字符串。

reg.exec(str)
既能找到关键词的位置,又能获得内容。
强调:
(1)支持正则,找不到返回null。
(2)若要查找所有正则必须加g,不加g只能查找第一个,而且要放进循环里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值