1.统计一个字符串中字符出现的次数,例如:输入 hello,l 输出 2
利用正则表达式,再使用正则表达式中的match方法
var str = "helloworld";
function everySum (str, a) {
var reg = new RegExp(a, "g")
var last = str.match(reg)
console.log(last.length);
}
everySum(str, "e")
2.编写代码实现数组扁平化输出,例如:输入[[1,2,3,[4,5,6,[7,8]]],[9,10],[11,12,[13]],5] 输出为[1,2,3,4,5,6,7,8,9,10,11,12,13,5]
方法一:
首先调用join将数组转化正字符串
再调用split方法将转过来的字符串又转化成数组,此时数组中的每个元素还是字符串的形式,所以还需要调用map方法遍历每一项,将每一项转化成数字的形式
var arr = [[1, 2, 3, [4, 5, 6, [7, 8]]], [9, 10], [11, 12, [13]], 5];
function flatten (arr) {
return arr.join().split(",").map(function (item) {
return Number(item)
})
}
console.log(flatten(arr));
方法二:
直接调用flat方法
var arr = [[1, 2, 3, [4, 5, 6, [7, 8]]], [9, 10], [11, 12, [13]], 5];
//flat专门用于数组扁平化,Infinity每一层的括号都去掉
console.log(arr.flat(Infinity));
3.给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1:输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为5。
示例 2:
输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是“moon”,长度为4。
示例 3:
输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为6的“joyboy”。
方法一:
var str = "hello world hello "
//trim去掉字符串之间的空格
var str1 = str.trim().split(" ")
var count = 0;
console.log(str1);
console.log(str1[str1.length - 1]);
for (let j = 1; j <= str1[str1.length - 1].length; j++) {
count++;
}
console.log(count);
方法二:
var str = "hello world hello11 "
var str = str.trim().split(" ")
last = str[str.length - 1].length
console.log(last);