如何将对象中逗号分隔的字符串属性值转换为数组
实现方式
核心思路:遍历原对象的所有可枚举自有属性,将每个属性对应的逗号分隔字符串值,调用split(',')方法拆分为数组即可。
兼容全环境的ES5实现
var original = {make: 'Audi,BMW,Cadillac', model: 'RDX,Mop,Rvn'}; var converted = {}; for (var key in original) { if (original.hasOwnProperty(key)) { converted[key] = original[key].split(','); } }
ES6+ 简洁实现
const original = {make: 'Audi,BMW,Cadillac', model: 'RDX,Mop,Rvn'}; const converted = Object.fromEntries( Object.entries(original).map(([k, v]) => [k, v.split(',')]) );
特殊场景适配
如果字符串值的逗号后存在多余空格(比如make: 'Audi, BMW, Cadillac'),可以在拆分后对每个元素做去空格处理:
converted[key] = original[key].split(',').map(item => item.trim())
内容的提问来源于stack exchange,提问作者Taiwo Sulaimon
相关产品推荐
相关产品推荐

