• 定义变量“刘大锤,20,男|雷大玲,19,男|邓大疯,21,男”,将其变为数组arr,如下
[{name: ‘刘大锤’, age: 20, sex: ‘男’}, {name: ‘雷大玲’, age: 19, sex: ‘男’},
{name: ‘雷大玲’, age: 21, sex: ‘男’}
]
通过split分割一下,这样?
var str = "刘大锤,20,男|雷大玲,19,男|邓大疯,21,男";
var arr = str.split("|");
for(var i=0; i<arr.length; i++){
var temp = arr[i].split(",");
arr[i] = {name: temp[0], age: parseInt(temp[1]), sex: temp[2]};
}
console.log(arr);
function stringToArray(str) {
// 先用 | 将字符串分割为一个数组
const arr = str.split('|');
// 创建一个新数组,使用 map() 方法将原数组中每个元素转换为一个新对象
const result = arr.map(item => {
// 先用 , 将每个元素的三个值分隔
const [name, age, sex] = item.split(',');
// 返回一个新对象
return {name, age: Number(age), sex};
});
return result;
}
const str = '刘大锤,20,男|雷大玲,19,男|邓大疯,21,男';
const arr = stringToArray(str);
console.log(arr);
输出结果:
[
{ name: '刘大锤', age: 20, sex: '男' },
{ name: '雷大玲', age: 19, sex: '男' },
{ name: '邓大疯', age: 21, sex: '男' }
]