JavaScript数组与字符串常碰到的问题

本文详细介绍JavaScript中字符串与数组的常见操作,包括转化、去重、比较等实用技巧,适用于前端开发人员提升代码效率。

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

(一)字符串常碰到的问题

1.字符串转化成数组

运用知识点:
split(val1,val2) 方法用于把一个字符串分割成字符串数组。

参数描述
val1必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
val2可选。该参数可指定返回的数组的最大长度。
	let strA = "1,2,3";
	let strB = "1,2";
	strA = strA.split(",");
	strB = strB.split(",");
	//strA   ["1","2","3"]
	//strB   ["1","2"]

2.字符串去重

运用知识点:
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
toString() 方法可把一个逻辑值转换为字符串,并返回结果。
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
ES6中扩展运算符三个点(…):这里三个点主要用到了将一个数组转为用逗号分隔的参数序列。

	let str = "java,es6,js,es6";
	let arr = new Set(str.split(","))
	str = [...arr].toString();
	//str    "java,es6,js"
	
	//如果想获得一个字符串去重后的数组,第二段改为:let arr = Array.from(new Set(str.split(",")));
	//arr    ["java","es6","js"]

3.两个字符比较取出不同

运用知识点:
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
includes() 方法用于判断字符串是否包含指定的子字符串。
ES6箭头函数。

	let strA = "1,2,3,1,5";
	let strB = "1,2";
	let newArr = [];
	strA = strA.split(",");
	strB = strB.split(",");
	newArr = strA.filter(x => !strB.includes(x));
	//newArr [3,5]

(二)数组常碰到的问题

1.数组转化字符串

运用知识点:
join()指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

	let arr = [1,2,3];
	let str = arr.join("");
	//str    123

2.数组去重

运用知识点:
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。

	let arr = [1,2,3,1,4,1];
	arr = Array.from(new Set(arr));
	//arr    [1,2,3,4]

3.数组合并

	let arrA = [1,2,3];
	let arrB = [2,4,6];
	let newArr = [...arrA,...arrB];
	//newArr   [1,2,3,2,4,6]

4.获取数组最大值

运用知识点:
Math.max() 函数返回一组数中的最大值。
Math.min() 函数返回一组数中的最小值。

	let arr = [2, 3, 4, 25, 6, 7, 8];
	let max = Math.max(...arr);
	let min = Math.min(...arr);
	//max   25
	//min    2

5.两个数组的并集、交集、差集

运用知识点:
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
Set里有has(value)返回为布尔值,表示参数是否为Set成员。
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

	let arrA = [1,2,3];
	let arrB = [2,3,4];
	//并集
	let arr = new Set([...a,...b]);
	
	//交集
	let arr2 = new Set([...a].filter(x =>b.has(x)));
	
	//差集
	let arr3= new Set([...a].filter(x => !b.has(x)));

	//arr   [1,2,3,4]
	//arr2  [2,3]
	//arr3  [4]

数组和字符串之间我们总是能碰到很多问题,这篇文章会继续跟进方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值