JavaScript 基础教程JavaScript 简介JavaScript 用法JavaScript 输出JavaScript 语法JavaScript 语句JavaScript 注释JavaScript 变量JavaScript 数据类型JavaScript 对象JavaScript 函数JavaScript 作用域JavaScript 事件JavaScript 字符串JavaScript 运算符JavaScript 比较和逻辑运算符JavaScript if...else 语句JavaScript switch 语句JavaScript for 循环JavaScript while 循环JavaScript break 和 continue 语句JavaScript typeof, null, undefinedJavaScript 类型转换JavaScript 正则表达式JavaScript 错误throw try catchJavaScript 调试JavaScript 变量提升JavaScript 严格模式 (use strict)JavaScript 使用误区JavaScript 表单JavaScript 表单验证JavaScript 验证 APIJavaScript 保留关键字JavaScript JSONjavascript :void(0) 含义JavaScript 代码规范JavaScript 函数定义JavaScript 函数参数JavaScript 函数调用JavaScript 闭包JavaScript HTML DOMJavaScript DOM- 改变 HTMLJavaScript DOM - 改变 CSSJavaScript HTML DOM 事件JavaScript DOM EventListenerJavaScript DOM 元素(节点)JavaScript 对象类型JavaScript Number 对象JavaScript 字符串(String)对象JavaScript Date 对象JavaScript Array 对象JavaScript Boolean 对象JavaScript Math 对象JavaScript RegExp 对象JavaScript window 对象JavaScript window.screen 对象JavaScript window.location 对象JavaScript window.history 对象JavaScript window.navigator 对象JavaScript 弹窗JavaScript 计时事件JavaScript CookieJS中的if和switch该如何选择?JS优化多分支结构JS中的while和for循环该如何选择?JS优化循环结构JS输出杨辉三角JS定义字符串(3种方式)JS获取字符串长度JS字符串拼接/连接(3种方式)JS字符串查找(6种方法)JS截取字符串JS字符串替换replace()JS字符串大写小写转换JS字符串比较大小JS字符串和数组之间的转换JS给字符串添加HTML标签JS去除字符串前后空格JS Unicode编码和解码JS Base64编码和解码JS在接收表单数据时过滤特殊字符JS自定义编码和解码方案

JS字符串和数组之间的转换

使用字符串的 split() 方法可以根据指定的分隔符把字符串切分为数组。
如果使用数组的 join() 方法,可以把数组元素连接为字符串。


示例1

如果参数为空字符串,则 split() 方法能够按单个字符进行切分,然后返回与字符串等长的数组。

var s = "JavaScript";
var a = s.split(""); //按字符空隙分隔

console.log(s.length); //返回值为10
console.log(a.length); //返回值为10


示例2

如果参数为空,则 split() 方法能够把整个字符串作为一个元素的数组返回。

var s = "JavaScript";
var a = s.split(""); //空分隔

console.log(a.constructor == Array); //返回true,说明Array是实例
console.log(a.length); //返回值为1,说明没有对字符串进行分割


示例3

如果参数为正则表达式,则 split() 方法能够以匹配文本作为分隔符进行切分。

var s = "a2b3c4d5e678f12g";
var a = s.split(/\d+/); //把以匹配的数字为分隔符来切分字符串

console.log(a); //返回数组[a,b,c,d,e,f,g]
console.log(a.length); //返回数组长度为7


示例4

如果正则表达式匹配的文本位于字符串的边沿,则 split() 方法也执行切分操作,且为数组添加一个空数组。

var s = "122a2b3c4d5e678f12g";
var a = s.aplit(/\d+/);

console.log(a);
console.log(a.length);

如果在字符串中指定的分隔符没有找到,则返回一个包含整个字符串的数组。


示例5

split() 方法支持第二个参数,该参数是一个可选的整数,用来指定返回数组的最大长度。如果设置了该参数,则返回的数组长度不会大于这个参数指定的值;如果没有设置该参数,那么整个字符串都被分割,不会考虑数组长度。

var s = "JavaScript";
var a = s.split("", 4); //按顺序从左到右,仅分切4个元素的数组

console.log(a); //返回数组[J,a,v,a]
console.log(a.length); //返回值为4


示例6

如果想使返回的数组包括分隔符或分隔符的一个或多个部分,可以使用带子表达式的正则表达式来实现。

var s = "aa2bb3cc4dd5e678f12g";
var a = s.split(/(\d)/); //使用小括号包含数字分隔符

console.log(a); //返回数组[aa,2,bb,3,cc,4,dd,5,e,6,,7,,8,f,1,,2,g]


链接: https://www.fly63.com/course/7_542