js实现字符串和数组之间相互转换操作
本文旨在分享JavaScript中实现字符串和数组之间转换操作的相关资料。对于对这方面感兴趣的小伙伴们,这是一篇值得参考的文章。
一、字符串转换为数组
在JavaScript中,将字符串转换为数组的操作可以通过split()函数轻松实现。该函数以指定的字符作为分隔符,将字符串分割成一个数组。例如:
```javascript
var Str = "abc-mng-zhang-mayi";
var newArray = Str.split("-");
console.log(newArray); // 输出结果将显示字符串已被成功转换为数组
```
二、数组转换为字符串
相反,将数组转换为字符串可以使用Array对象的join()函数。此函数将数组中的元素以指定字符连接,生成一个字符串。例如:
```javascript
var newArray = ["abc","mng","zhang","mayi"];
var Str = newArray.join("-");
console.log(Str); // 输出的字符串由数组元素以"-"连接而成
```
三. 自定义字符串转换为数组的函数
除了使用内置函数外,我们还可以自定义字符串转换为数组的函数,以获取更大的灵活性和控制力。以下是一个示例函数:
```javascript
function StringToArray(str, substr) {
var arrTmp = new Array();
if (substr == "") {
arrTmp.push(str);
return arrTmp;
}
var i = 0, j = 0, k = str.length;
while (i < k) {
j = strdexOf(substr, i);
if (j != -1) {
if (str.substring(i, j) != "") {
arrTmp.push(str.substring(i, j));
}
i = j + 1;
} else {
if (str.substring(i, k) != "") {
arrTmp.push(str.substring(i, k));
}
i = k;
}
}
return arrTmp;
}
var Str = "abc-mng-zhang-mayi";
console.log(StringToArray(Str, "-")); // 输出结果将显示自定义函数成功将字符串转换为数组
console.log(StringToArray(Str, "-").length); // 输出数组的长度
```
想象一下,我们有一个装满字符串的数组,就像一堆散乱的珠子,我们想把它们用特定的分隔符串起来,变成一个长字符串。这个过程就像是在做手工串珠,每一颗珠子(数组中的元素)都要经过筛选,不是空白的才能被串起来。
下面这段自定义的 `ArrayToString` 函数,就像是我们的串珠师傅。它遍历数组中的每一个元素,检查它们是否为空。如果元素不是空的,就将其添加到临时字符串 `strTmp` 中,并在元素之间添加指定的分隔符。如果 `strTmp` 还是空的,就直接将第一个非空元素赋值给它。函数返回这个连接好的字符串。
让我们更详细地一下这个函数:
```javascript
function ArrayToString(arr, strSeparator) {
var strTmp = ""; // 初始化一个空字符串,用来存放最终拼接的结果
// 使用for循环遍历数组中的每一个元素
for (var i = 0; i < arr.length; i++) {
// 如果数组元素不为空
if (arr[i] != "") {
// 如果是第一个非空元素,直接赋值给strTmp
if (strTmp == "") {
strTmp = arr[i];
} else {
// 否则,在strTmp和当前元素之间添加分隔符str,并继续连接字符串
strTmp = strTmp + strSeparator + arr[i];
}
}
}
// 返回拼接完成的字符串
return strTmp;
}
```
现在让我们测试一下这个函数。假设我们有一个数组 `newArray` 包含几个字符串元素,我们可以调用这个函数,将数组转换为由特定分隔符连接的字符串。例如:
```javascript
var newArray = ["abc", "mng", "zhang", "mayi"];
console.log(ArrayToString(newArray, "-")); // 输出:"abc-mng-zhang-mayi"(假设分隔符是"-")
```
编程语言
- js实现字符串和数组之间相互转换操作
- 基于PHP函数的操作方法
- jQuery实现仿微软首页感应鼠标变化滑动窗口效果
- CSS或者JS实现鼠标悬停显示另一元素
- javascript正则表达式中分组详解
- 在ASP.NET 2.0中操作数据之十:使用 GridView和Detai
- jquery mobile 实现自定义confirm确认框效果的简单实
- node.js 动态执行脚本
- PHP实现抓取HTTPS内容
- Flex 基于数据源的Menu Tree实现代码
- 非常精妙的PHP递归调用与静态变量使用
- js限制文本框只能输入整数或者带小数点的数字
- PHP实现递归的三种方法
- jQuery ajax调用后台aspx后台文件的两种常见方法(不
- 仅1个例子轻松学习正则表达式
- 利用n 升级工具升级Node.js版本及在mac环境下的坑