正则replace方法

192 阅读1分钟

replace方法及回调函数:

const encodeHtml = (str)=>{
	if(typeof str === 'string'){
    	return str.replace(/<|&|>/g, (matches)=>{
        	return ({
            	'<': '&lt',
                '&': '&amp',
                '>': '&gt'
            }[matches]);
        });
    }
    return '';
}

对象简写方法:

const obj = {
	name: 'amy',
    getName() {
    	return 'nani?'
    }
};

用some判断数组是否包含:

const arr = ['nico', 'barron', 3344, 1314];
const has = arr.some(v=> v===1314);
console.log(has);

罗马数字转正数:

{
	/**
	 * @param {string} s
	 * @return {number}
	 */
	const romanToInt = (s) => {
		const codeNum = {
			'I': 1,
			'V': 5,
			'X': 10,
			'L': 50,
			'C': 100,
			'D': 500,
			'M': 1000
		};
		const result = [...s].reduce((pre, cur, index, arr) => {
			return codeNum[arr[index + 1]] > codeNum[cur] ? pre -= codeNum[cur] : pre += (codeNum[cur] || 0);
		}, 0);
		console.log(result);
		return result;
	};
	romanToInt('IV');
	romanToInt('MDC');
	romanToInt('IM');
}