JavaScript中将字符串转换为数组
我们需要完成的任务是在JavaScript中将输入字符串转换为数组。
每当我们尝试将一个字符串单词拆分为字符或将一个句子拆分为单词以便转换为数组时,我们可以使用一些内置的方法来将字符串转换为数组。
在本文中,我们将讨论如何使用不同的方法将字符串转换为数组。
使用split()方法
该方法将字符串拆分为一个子字符串数组。这将在一个新数组中返回输出,并且不会改变现有的字符串。
split()方法 接受两个参数,两个都是可选参数,第一个是 分隔符 。它将指定应该发生每个拆分的位置,可以是字符串或正则表达式。如果我们没有传递任何参数,它将在数组中返回整个字符串。
第二个参数是 限制 ,它应该是一个限制拆分次数的整数。
示例1
以下是使用 split() 方法将字符串转换为数组的示例 –
<!DOCTYPE html>
<html>
<title>Converting string to an array in JavaScript</title>
<head>
<script>
var string = "We are Tutorials point";
const arr1 = string.split(' ');
const arr2 = string.split('');
const arr3 = string.split(" ", 2)
document.write(arr1, "<br>", arr2, "<br>", arr3, "<br>");
let [first, second, third, fourth] = string.split(' ');
document.write(first, second, third, fourth);
</script>
</head>
<body>
</body>
</html>
示例2
使用特殊字符的分割方法
在下面的示例中,输入句子中包含一些特殊字符。我们在split()方法中传递了这些特殊字符。每当字符串中与这些字符匹配时,它就会在那里分割句子,并在输出中删除特殊字符。
<!DOCTYPE html>
<html>
<title>Converting string to an array in JavaScript</title>
<head>
<script>
var string = "Oh, you are working tutorialspoint? that place is amazing! how can i join there; is there any vacancy? please let me know.";
const array = string.split(/[.,!,?,;]/);
document.write(array);
</script>
</head>
<body>
</body>
</html>
使用Array.from()方法
我们还可以通过使用Array.from()方法执行上述任务。
Array.from()方法将返回一个数组,可以从具有length属性的任何对象以及任何可迭代对象中将其转换为数组。它接受一个参数对象来转换为数组。
示例
以下是一个示例,我们使用Array.from()方法将字符串转换为数组:
<!DOCTYPE html>
<html>
<title>Converting string to an array in JavaScript</title>
<head>
<script>
let string = "Tutorix";
let arr = Array.from(string);
document.write(arr);
</script>
</head>
<body>
</body>
</html>
使用扩展运算符(…)
扩展运算符(…)可以将数组或字符串的元素展开为一系列值。
如果我们不使用扩展运算符传递字符串,它不会展开字符串的字符,而是将整个字符串作为一个单独的元素打印到数组中。
let string = "hello world my name ";
let array = [string];
document.write.log(array); // output: ["hello world my name "]
所以我们可以通过使用展开(…)运算符来避免这种情况。使用这个展开运算符,它将把字符串的元素提取为一系列的值。
示例
以下是将字符串转换为数组的示例:
<!DOCTYPE html>
<html>
<title>Converting string to an array in JavaScript</title>
<head>
<script>
let string = "Let's go to new york";
let arr = [...string];
document.write(arr);
</script>
</head>
<body>
</body>
</html>
使用Object.assign()方法
Object.assign()方法会将所有属性从源对象复制到目标对象。它接受两个参数,一个是目标对象,另一个是源对象,并返回目标对象。
Object.assign()方法的语法如下所示 –
Object.assign(target, sources)
示例
在下面的示例中,我们声明了源对象并将源作为源参数传递给了object.assign()函数,并将一个空数组作为目标参数。这将把字符串中的元素转换为数组。
<!DOCTYPE html>
<html>
<title>Converting string to an array in JavaScript</title>
<head>
<script>
let string = "Arjun reddy is a cult classic";
let arr = Object.assign([], string);
document.write(arr);
</script>
</head>
<body>
</body>
</html>