目录:数组
/** 借助临时变量 */ function swap(str1, str2) { const temp = str1; str1 = str2; str2 = temp; }
/** 解构赋值 */ [a, b] = [b, a]; /** 对象 */ {a,b} = {a:b,b:a}
/** 加法 只适用于数字 */ a += b; b = a - b; a -= b; /** * 加法 简写 * 基本类型的值,保存的就是这个值 */ a = a + b - (b = a);
/** 借助数组实现 */ a = [a, b][1]; b = [a, b][0]; // 简写 b = [a, (b = a)][0];
/** 借助数组实现 */ a = { a:a, b:b }['a']; b = { a:a, b:b }['b']; // 简写 b = {a:a,b:(a=b)}['a']
// [...str]取代str.split('') const reverseString = str => [...str].reverse().join('');
/** * 常规方法 * @param {string} s * @return {string} */ function swap(s) { if (s.length <= 1) return s; let result = ''; for (let i = s.length - 1; i >= 0; i -= 1) { result += s[i]; } return result; }
/* * @param {string} s string of (n) length * @return {string} returns a reversed string */ function reverseString(s) { // edge case if (s.length <= 1) return s; // split and swap const arr = s.split(''); let start = 0; let end = arr.length - 1; while (start < end) { // swap characters const temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; // move towards middle start += 1; end -= 1; } return arr.join(''); }
/** * @param {string} s * @return {string} */ function reverseWords(s) { return s.replace(/^\s+/, '') // 去除头部多余空格 .replace(/\s+$/, '') // 去除尾部多余空格 .replace(/(\w+)\s+/, '$1 ') // 合并中间多余空格为一个 .split(/\s/)// 拆分为字符串 .reverse() // 反转字符串 .join(''); }