js逻辑题

这篇博客探讨了JavaScript中的一些逻辑题目,包括实现数组去重的函数,查找字符在字符串中位置的方法,以及根据指定位置截取字符串的逻辑。此外,还介绍了一个猜数字游戏的设定,涉及到30人共消费500元,其中男人、女人和小孩分别花费30元、20元和10元,要求解出各类人数。

数组去重

let arr1=[1,2,2,3,4,5,5,6,6,6,7,8,9,9,9,]
			for(let i=1;i<=arr1.length;i++){
				for(let j=i+1;j<=arr1.length;j++){
					if(arr1[i]===arr1[j]){
						arr1.splice(j,1)
						j--
					}
				}
			}
			console.log(arr1)

写一个函数,参数为一个字符,一个字符串,返回这个字符出现在这个字符串的第几个位置,如果没有该字符,则返回-1

		function hs(str1, zf) {
				for (let i = 0; i < str1.length; i++) {
					if (zf === str1[i]) {
						return i
					}
				}
				return -1
			}

			console.log(hs('abcd', 'd'))

写一个函数,参数为截取字符串的起始位置,截取字符串的结束位置,要截取的字符串,最后根据函数参数返回对应截取的字符串

						function hs(str1, ks, end) {   //声明好形参 字符串,起始位置,结束位置
							let arr = [];              //创建一个空数组,存下面的返回值
							for (let i = ks; i < end; i++) {	//循环条件 一个开始位置的初始值,值小于结束位置,i++
								arr.push(str1[i])			//arr.puch()意思像数组后面添加  将字符串里的i传进上面的数组
							}
							return arr.join("");			//返回值 arr.join('')意思拼接 将截取的字符拼接起来
						}
						console.log(hs('abagddefg', 3, 5))		//打印字符串里的第三和第五个值 结果为gd

猜数字游戏

let i=parseInt(Math.random()*20)
			for(let c=0;c<10;c++){
				var play=prompt('请输入数字')
				if(i==play){
					alert('聪明')
					break;
				}else if(c==5){
					alert('机会用完,游戏结束')
					break;
				}else if(i>play){
					alert('小了')
				}else if(i<play){
					alert('大了')
				}
			}

有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭 共花了500元,每个男人各花30元,

每个女人各花20元,每个小孩各花10元,问男人、女人和小孩各有几人?

			var a;
			var b;
			var c;
			
			for(a=1;a<=30;a++){
				for(b=1;b<=30;b++){
					for(c=1;c<=30;c++){
						if(a*30+b*20+c*10==500&&a+b+c==30){
							console.log('男人有'+a+'女人有'+b+'孩子有'+c)
							
						}
					}
				}
			}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值