string/kebabCase.jsjavascript
/**
* 将字符串转换为短横线命名。
* @function kebabCase
* @memberof module:string
* @param {string} value 原字符串
* @returns {string} kebab-case 字符串
* @throws {TypeError} 参数不是字符串时抛出
*/
function kebabCase(value) {
if (typeof value !== 'string') throw new TypeError('value must be a string')
return value.trim().replace(/([a-z\d])([A-Z])/g, '$1-$2').split(/[\s_\-]+/).filter(Boolean).map(word => word.toLowerCase()).join('-')
}
export default kebabCase