写一个 js 算法 arr =“[“1、啊啊啊啊”,“2、晨晨晨晨”]” 转换成 [1、啊啊啊啊,2、晨晨晨晨]
时间: 2024-09-10 17:23:51 浏览: 65
要将字符串形式的数组 `arr = "[“1、啊啊啊啊”,“2、晨晨晨晨”]"` 转换为 JavaScript 中的数组 `[1、啊啊啊啊,2、晨晨晨晨]`,你需要先对字符串进行解析以去除方括号、双引号和转义字符,然后将其转换为实际的数组元素。以下是一个可能的实现方式:
```javascript
function parseArray(input) {
// 去除字符串首尾的方括号
let trimmedInput = input.slice(1, -1);
// 替换双引号和不标准的引号
let normalizedInput = trimmedInput.replace(/“/g, '"').replace(/”/g, '"');
// 分割字符串成为数组
let arrayItems = normalizedInput.split(',');
// 过滤掉空字符串并处理每个数组项
let resultArray = arrayItems.map(item => {
// 去除引号
let value = item.trim().replace(/"/g, '');
// 尝试将第一个字符转换为数字,如果不行则保留原样
if (!isNaN(value.charAt(0))) {
return parseInt(value, 10);
} else {
return value;
}
});
return resultArray;
}
// 示例字符串
let arrStr = "[“1、啊啊啊啊”,“2、晨晨晨晨”]";
// 调用函数并打印结果
let result = parseArray(arrStr);
console.log(result);
```
这段代码首先去掉了字符串首尾的方括号,然后用标准的双引号替换了不标准的引号。接着,通过分割字符串得到了一个字符串数组,最后通过 `map` 方法处理了每个数组项:去除了可能的前后空格和引号,并尝试将第一个字符转换为数字。
需要注意的是,这个例子假设字符串格式是固定的,并且每个数组元素都是以引号括起来的。如果格式有所不同,处理方法也需要相应调整。
阅读全文