一、 源码解析
/*** 将字符串逗号切分返回对象** @param {string} source 源字符串* @return {Object}*/
function splitStr2Obj(source) {var result = {};each( // 2source.split(','), // 1function (key) { // 3result[key] = key;});return result;
}
- 把字符串通过 split 函数以 ‘,’ 方式进行分割为数组
例如'animate,animateMotion,animateTransform'.split(','); // 输出 ['animate', 'animateMotion', 'animateTransform']
- each 函数遍历 split 函数返回的数组
- 在函数中进行转换,向 result 对象中放入键值对,这里的键值都是key
最后返回对象
二、示例
let svgTags = splitStr2Obj(''// Animation elements+ 'animate,animateMotion,animateTransform,'// Basic shapes+ 'circle,ellipse,line,polygon,polyline,rect,'// Container elements+ 'defs,g,marker,mask,missing-glyph,pattern,svg,symbol,'// Descriptive elements+ 'desc,metadata,'// Font elements+ 'font,font-face,'// Gradient elements+ 'linearGradient,radialGradient,stop,'// Graphics elements+ 'image,path,use,'// Text elements+ 'glyph,textPath,text,tref,tspan,'// Others+ 'clipPath,cursor,filter,foreignObject,view'
);