functionpalindrome(str) {
str = str.replace(/[^A-Za-z0-9]/g, '').toLowerCase();
var x = str.split('');
var t = x.every(function(v,i){return v == x[x.length-i-1];
},x);
//return str.replace(/[^A-Za-z0-9]/g, '').toLowerCase().split('').every(function(v,i,that){return v == that[that.length-i-1]})return t;
}
字符串的每个单词首字母都大写,其余部分小写。
functiontitleCase(str) {var temparr = str.toLowerCase().split(' ');
var res = temparr.map(function(v,i){return v.replace(/^[a-zA-Z]{1}/,v[0].toUpperCase());
});
return res.join(' ');
}
Find the stray number 给定一个奇数个元素的数组,他们的值是相同的,除了一个值不同,找出这个不同的值。 example:[1, 1, 2] ==> 2 解法有三种:
// 第一种:通过数组的indexOf和lastIndexOf方法判断该元素是否在数组中唯一functionstray(arr) {for (const val of arr) {
if (arr.indexOf(val) === arr.lastIndexOf(val)) return val
}
}
// 第二种:判断该元素的兄弟元素是否也与它相同functionstray(numbers) {for (let i = 1,len = numbers.length;i < len;i++) {
const num = numbers[i]
if (num !== numbers[i-1] && num !== numbers[i+1]) {
return num
}
}
}
// 第三种:因为是数组个数为奇数个,所以我们可以用^运算符,思路来源于codewarsconst stray = numbers => numbers.reduce(a, b) => a ^ b)