在编程中,string与对象之间的转换是常见的需求。本文将从不同维度详细阐述string转对象的相关知识,包括string转对象数组、string转对象list、string转化json对象、string转对象方法、string转json对象、string转对象原始方法、string转map对象、string转object对象、string转list对象数组、js对象转string等。
一、string转对象数组
将一个string按照指定的分隔符分割成一个对象数组。
/**
* 将string转为对象数组
* @param {string} str 需要转换的字符串
* @param {string} separator 分隔符
* @returns {object} 对象数组
*/
function stringToObjectArray(str, separator) {
const arr = str.split(separator);
const objArr = arr.map(item => ({ value: item }));
return objArr;
}
该方法通过split()函数将输入的string按照指定的分隔符分割成数组,然后通过map()函数将每一个元素转换为一个对象,并将其放入一个新的数组中返回。
二、string转对象list
将一个string转换为对象的list。
/**
* 将string转为对象list
* @param {string} str 需要转换的字符串
* @param {string} separator 分隔符
* @returns {object} 对象list
*/
function stringToObjectList(str, separator) {
const arr = str.split(separator);
const objList = arr.map(item => ({ value: item, next: null }));
objList.reduce((prev, cur) => (prev.next = cur));
return objList[0];
}
该方法也是首先将输入的string按照指定的分隔符分割成数组,然后通过map()函数将每一个元素转换为一个只有value属性的对象,并将其放入一个新的数组中。
接着采用reduce()函数,将数组中的对象连接成一个链表,每一个对象的next指向后一个对象,最后返回链表的第一个对象。
三、string转化json对象
将一个string转换为json对象。
/**
* 将string转为json对象
* @param {string} str 需要转换的字符串
* @returns {object} json对象
*/
function stringToJson(str) {
return JSON.parse(str);
}
JSON.parse()函数可以将满足JSON格式要求的string转换为json对象。
四、string转对象方法
将一个string转换为对象方法。
/**
* 将string转为对象方法
* @param {string} str 需要转换的字符串
* @returns {function} 对象方法
*/
function stringToObjectFunction(str) {
return eval('(' + str + ')');
}
eval()函数可以将一个字符串解析成JS代码并运行,从而实现将一个string转换为一个函数。
五、string转json对象
将一个string转换为json对象。
/**
* 将string转为json对象
* @param {string} str 需要转换的字符串
* @returns {object} json对象
*/
function stringToJson(str) {
return JSON.parse(str);
}
JSON.parse()函数可以将满足JSON格式要求的string转换为json对象。
六、string转对象原始方法
将一个string转换为对象的原始方法。
/**
* 将string转为对象的原始方法
* @param {string} str 需要转换的字符串
* @returns {object} 对象
*/
function stringToObject(str) {
const obj = {};
const strArr = str.split(';');
strArr.forEach(item => {
if (item) {
const arr = item.split(':');
obj[arr[0]] = arr[1];
}
});
return obj;
}
该方法针对输入的string格式进行解析,并将其转换为一个对象。
该方法首先将输入的string按照指定格式进行切割,然后遍历切割后的数组,对每个元素进行处理。元素通过split()函数进一步切割,将其分为一个key-value对,最后将其作为一个属性放入新的对象中。
七、string转map对象
将一个string转换为map对象。
/**
* 将string转为map对象
* @param {string} str 需要转换的字符串
* @param {string} separator 分隔符
* @returns {object} map对象
*/
function stringToMap(str, separator) {
const arr = str.split(separator);
const map = new Map();
arr.forEach((item, index) => {
map.set(index, item);
});
return map;
}
该方法将输入的字符串按照指定的分隔符进行分割,并将每个元素放入新创建的map对象中,key值为该元素在数组中的index,value为该元素本身。
八、string转object对象
将一个string转换为一个普通的object对象。
/**
* 将string转为普通object对象
* @param {string} str 需要转换的字符串
* @param {string} separator 分隔符
* @returns {object} 普通object对象
*/
function stringToNormalObject(str, separator) {
const arr = str.split(separator);
const obj = {};
arr.forEach((item, index) => {
obj[index] = item;
});
return obj;
}
该方法处理方式类似于string转map对象,只不过此处是将元素放入一个普通的对象中,key值为该元素在数组中的index,value为该元素本身。
九、string转list对象数组
将一个string转换为一个对象属性为数组类型的list对象。
/**
* 将string转为对象属性为数组类型的list对象
* @param {string} str 需要转换的字符串
* @param {string} separator1 每条数据分隔符
* @param {string} separator2 每条数据中的item分隔符
* @returns {object} 对象属性为数组类型的list对象
*/
function stringToObjectArrayPropertyList(str, separator1, separator2) {
const arr1 = str.split(separator1);
const list = [];
arr1.forEach(item => {
const arr2 = item.split(separator2);
list.push({ value: arr2 });
});
return list;
}
该方法首先将输入的字符串按照指定的分隔符分割得到一个数组,然后遍历这个数组,将每个元素再按照另一个指定分隔符进行切割为一个数组。
接着将每个切割后的数组作为一个对象的属性存放在list数组中,最后返回list数组。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/154050.html
微信扫一扫
支付宝扫一扫