目录:
- swap(数字、字符串、)
- reverseString
- reverseWords
swap
/** 借助临时变量 */
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']
reverseString
// [...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 caseif (s.length <= 1) return s;// split and swapconst arr = s.split('');let start = 0;let end = arr.length - 1;while (start < end) {// swap charactersconst temp = arr[start];arr[start] = arr[end];arr[end] = temp;// move towards middlestart += 1;end -= 1;}return arr.join('');
}
reverseWords
/*** @param {string} s* @return {string}*/
function reverseWords(s) {return s.replace(/^\s+/, '') // 去除头部多余空格.replace(/\s+$/, '') // 去除尾部多余空格.replace(/(\w+)\s+/, '$1 ') // 合并中间多余空格为一个.split(/\s/)// 拆分为字符串.reverse() // 反转字符串.join('');
}