JS简单算法题

1.字符串翻转
先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串

function reverseString(str){
	console.log("原来");
	console.log(str);
	str=str.split('').reverse().join('');
	console.log("翻转后");
	return str;
}

console.log("字符串翻转");
console.log(reverseString("你是年少的欢喜"));

运行结果:
字符串翻转
2.单词首字母大写,其它保持不变

	function titleCase(str){
	let astr=str.toLowerCase().split(" ");
	for(let i=0;i<astr.length;i++){
	//substring是拼接字符串,参数begin至end
		astr[i]=astr[i][0].toUpperCase()+astr[i].substring(1,astr.length);
	}
	let string=astr.join(" ");
	return string;
}
console.log(titleCase("i love you very much."));

运行结果:
首字母大写
3.大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组

function largestOfArrays(arr){
	console.log("原来的数组");
	console.log(arr);
	let newArray=[];
	for(let i=0;i<arr.length;i++){
	//将数字最大的放在最前面
		arr[i].sort(function(a,b){
			return b-a;
		});
		//将每个数组的最大值放入新数组中
		newArray.push(arr[i][0]);
	}
	console.log("新数组:");
	return newArray;
}

console.log(largestOfArrays([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));

运行结果:
组成最大值新数组
4.如果数组第一个字符串元素包含了第二个字符串元素的所有字符,函数返回true

function mutation(arr){
	let astr=arr[0].toLowerCase();
	let bstr=arr[1].toLowerCase();
	let flag='';
	console.log(astr);
	console.log(bstr);
	for(let i=0;i<bstr.length;i++){
		//只要匹配到一个不在里面就没有必要继续查,利用break跳出循环
		if(astr.indexOf(bstr[i])==-1){
			flag=false;
			break;
		}
		else{
			flag=true;
		}
	}
	return flag;
}


console.log(mutation(["hello", "eo"]));

运行结果:
字符匹配

关注公众号,获取更多资源
在这里插入图片描述

每天进步一点点,开心也多一点点

发布了60 篇原创文章 · 获赞 66 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_40169642/article/details/89333733