🙂循环

  • 一行打印★★★★★
1
2
3
4
5
var str = '';
for (var i = 1;i<=5;i++) {
str = str + '★'; //追加字符串
}
console.log(str);
  • 倒序打印★ 第一行9个,第九行1个

image-20210814104944001

1
2
3
4
5
6
7
8
var str = '';
for (var i=1;i<10; i++) { // 控制行数
for (var j=i;j<10;j++) { // 控制每一行★个数
str = str + '★';
}
str = str + '\n'; // 每行结尾换行
}
console.log(str);
  • 正序打印★ 第一行1个,第九行9个

image-20210814105003430

1
2
3
4
5
6
7
8
var str = '';
for (var i=1;i<10;i++) {
for (var j =1 ;j<=i;j++) {
str = str + '★';
}
str = str + '\n';
}
console.log(str);
  • 打印九九乘法表

image-20210814104842263

1
2
3
4
5
6
7
8
var str ='';
for (var i=1 ; i<10;i++) {
for (var j=1;j<=i;j++) {
str = str + j + 'x' +i + '=' + j*i + '\t';
}
str = str + '\n';
}
console.log(str);
  • 接收用户输入的用户名和密码,若用户名为 “admin” ,且密码为 “123456” ,则提示用户登录成功! 否则,让用户一直输入。
1
2
3
4
5
do {
var name = prompt('请输入用户名');
var password = prompt('请输入密码');
}while (name != 'admin' || password != '123456'); //两个有一个不满足就要进入循环,切忌写成&&
alert('登陆成功');
  • 求整数1~100的累加值,但要求跳过所有个位为3的数。
1
2
3
4
5
6
7
8
var sum = 0;
for (var i=1;i<=100;i++) {
if(i%10==3) {
continue;
}
sum = sum + i;
}
console.log(sum);
1
2
3
4
5
6
7
var sum = 0;
for (var i=1;i<=100;i++) {
if(i%10!=3) {
sum = sum + i;
}
}
console.log(sum);
  • ATM机
image-20210814210102914
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var sum =100;
do{
var choice = prompt('请输入你要的操作:\n1.存钱 \n2.取钱\n3.显示余额\n4.退出\n ');
if(choice==1){
var num1 = prompt('请输入存入金额:')
var sum = parseInt(sum) + parseInt(num1);
alert('你的余额是'+ sum +'元')
}else if(choice == 2){
var num2 = prompt('请输入取出金额:')
var sum = parseInt(sum) - parseInt(num2);
alert('你的余额是'+ sum +'元')
}else if(choice == 3){
alert('你的余额是'+ sum +'元')
}
}while(choice!=4)
alert('退出成功');
  • 求从1开始第35个能被7和3整除的整数
1
2
3
4
5
6
7
var count = 0;
for(var i =1; count<35;i++){
if(i%3==0&&i%7==0){
count++;
console.log(i);
}
}

🙂数组

  • 求出数组总和和平均数
1
2
3
4
5
6
7
8
var arr = [2,6,1,7,4];
var sum = 0;
var average = 0;
for(var i =0; i < arr.length ; i++){
sum =sum +arr[i] // 求和是加数组元素arr[i],不是数组下标i
}
average = sum/arr.length;
console.log(sum,average); // 输出多个变量,用,逗号隔开即可
  • 求数组[2,6,1,77,52,25,7]中的最大值
1
2
3
4
5
6
7
8
var arr = [2,6,1,77,52,25,7];
var max =arr[0];
for(i=0;i<arr.length;i++){
if(max<arr[i]){
max=arr[i];
}
}
console.log(max);
  • 将数组[‘red’,‘green’,‘blue’,‘pink’]转换为字符串,并使用|分割
1
2
3
4
5
6
var arr = ['red','green','blue','pink'];
var str = '';
for(var i=0;i<arr.length;i++) {
str = str + arr[i] + '|';
}
console.log(str);
  • 新建一个数组,里面存放10个整数(1-10)
1
2
3
4
5
6
ar arr = [];
for(var i =0;i<10;i++){
// arr = 1 x 不要直接给数组名赋值
arr[i]=i+1;
}
console.log(arr);
  • 将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组
1
2
3
4
5
6
7
8
9
10
var arr = [2,0,6,1,77,0,52,0,25,7];
var arr1=[];
var a=0;
for(var i =0;i<arr.length;i++){
if(arr[i]>=10){
arr1[a]=arr[i]
a++;
}
}
console.log(arr1);
1
2
3
4
5
6
7
8
9
var arr = [2,0,6,1,77,0,52,0,25,7];
var arr1=[]; //arr1.length就是0
var a=0;
for(var i =0;i<arr.length;i++){
if(arr[i]>=10){
arr1[arr1.length]=arr[i]
}
}
console.log(arr1);
  • 将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉,形成一个新数组
1
2
3
4
5
6
7
var arr = [2,0,6,1,77,0,52,0,25,7];
var arr1 = [];
for(var i = 0; i<arr.length;i++){
if(arr[i]!=0 ){
arr1[arr1.length]=arr[i];
}
}
  • 将数组[1,2,3,4,5,6]内容反过来存放
1
2
3
4
5
6
7
8
9
10
11
var arr = [1,2,3,4,5,6];
var arr1 = [];
var num = arr.length;

for(var i = 0; i<arr.length;i++){
num--;
arr1[arr1.length]=arr[num];


}
console.log(arr1);

★★★冒泡排序★★★

  • 将数组[2,1,3,5,4]元素由大到小排列
1
2
3
4
5
6
7
8
9
10
11
12
var arr = [2,1,3,5,4];
for(var i=0;i <= arr.length-1;i++){ // 趟数
for(var j=0;j<=arr.length-1-i;j++) { //每趟的次数w
if(arr[j]<arr[j+1]){
var temp =0;
temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr);

🙂函数

  • 利用函数求两个数的最大值
1
2
3
4
5
6
7
8
9
10
function Getmax (num1,num2) {
var max = num1;
if(num1>num2){
max = num1;
}else {
max = num2;
}
return max;
}
console.log(Getmax(6,9));
1
2
3
4
function Getmax (num1,num2) {
return num1>num2 ? num1 : num2; //三元运算符
}
console.log(Getmax(6,9));
  • 利用函数求数组中的最大值
1
2
3
4
5
6
7
8
9
10
11
function Getmax (arr) { //接收一个数组
var max = arr[0];
for(var i=0; i<arr.length; i++) {
if(max<arr[i]){
max=arr[i];
}
}
return max;
}
var re = Getmax([5,2,99,101,67,77]); //实参是一个数组传过去
console.log(re);
  • 利用函数求任意个数中的最大值
1
2
3
4
5
6
7
8
9
10
11
function getMax(){
var max = arguments[0];
for(var i=0;i<arguments.length;i++){
if(max<arguments[i]){
max=arguments[i];
}
}
return max;
}
var re=getMax(3,1,5,76,34);
console.log(re);
  • 利用函数,翻转任意一个数组
1
2
3
4
5
6
7
8
9
function reverse(arr){
var newArr=[];
for(var i=0;i<arr.length;i++){
newArr[newArr.length]=arr[arr.length-1-i];
}
return newArr;
}
var arr1 = reverse([1,2,3,4,5]);
console.log(arr1);
  • 利用函数,对数组从小到大排序—冒泡排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function sort(arr){
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-1-i;j++) {
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
var arr1=sort([1,4,2,6,5]);
console.log(arr1);
  • 用户输入年份,输出当前年份2月份的天数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function backDay(){
var year = prompt('请输入年份:');
if(isRunYear(year)){
alert(year+'是闰年,2月份有29天');
}else {
alert(year+'是平年,2月份有28天');
}
}
backDay();

// 判断是否是闰年
function isRunYear(year){
//如果是闰年返回true,否则else
var flag = false;
if(year%4==0&&year%100!=0||year%400==0) { //能被4整除且不能被100整除或者能被400整除
flag=true;
}
return flag;
}