All interview cases of front-end js basic algorithm (1)

1 Introduction

Basic algorithms are very important when entering a big factory!!!

1.while: judge first and then loop
2.do while: execute once first, then judge
3.continue: jump out of this (current) loop directly
4.break: jump out of the entire loop directly

2.Case

2.1 Print n stars in one line

		var num = prompt("请输入星星的个数")
		var str = ''
		for (var i = 1; i <= num; i++) {
    
    
			str = str + '*'
		}
		console.log(str);

2.2 Print stars in n rows and n columns

		var rows = prompt("请输入行数")  //负责外面的五层
		var cols = prompt("请输入列数")  //负责里面的个数
		var str = ''
		for (var i = 1; i <= rows; i++) {
    
    
			for (var j = 1; j <= cols; j++) {
    
    
				str = str + '*'
			}
			str += '\n'
		}
		console.log(str);

2.3 Print inverted triangle

	var str = ''
	for (var i = 1; i <= 10; i++) {
    
    
		for (var j = i; j <= 10; j++) {
    
    
			str += '*'
		}
		str += '\n'
	}
	console.log(str);

2.4 Print the multiplication table

	var str = ''
	for (var i = 1; i <= 9; i++) {
    
    
		for (var j = 1; j <= i; j++) {
    
    
			str += i + '*' + j + '=' + i * j + '\t'
		}
		str += '\n'
	}
	console.log(str);

2.5 Sum and average

var arr=[1,2,3,4];
var sum=0;
var average=0;
for(var i=0;i<arr.length;i++){
    
    
	sum+=arr[i];
}
average=sum/arr.length;
console.log(sum,average);

2.6 Find the maximum value

var arr=[21,12,3,47]
var max=0
for(var i=0;i<arr.length;i++){
    
    
	if(arr[i]>max){
    
    
		max=arr[i]
	}
}
console.log(max)

2.7 Convert array to string (string concatenation)

	var arr = ['red', 'green', 'blue', 'green']
	var str = ''
	var step = '|'
	for (var i = 0; i < arr.length; i++) {
    
    
		// console.log(arr[i]);
		str += arr[i] + step
	}
	console.log(str);

2.8 Add elements to an empty array

	var str = []
	for (var i = 0; i < 10; i++) {
    
    
		str[i] = i + 1
	}
	console.log(str);

2.9 Filter out numbers greater than 10 (add to new array)

	//这里考虑到的问题就是两个不一样的数组一定要用不同的变量名来表示索引
	var str = [12, 123, 2312, 3, 1, 32, 45, 2, 4, 6]
	var newarr = []
	var j = 0
	for (var i = 0; i < str.length; i++) {
    
    
		if (str[i] >= 10) {
    
    
			newarr[j] = str[i]
			j++
		}
	}
	console.log(newarr);

	var str = [12, 123, 2312, 3, 1, 32, 45, 2, 4, 6]
	var newarr = []
	for (var i = 0; i < str.length; i++) {
    
    
		if (str[i] >= 10) {
    
    
			newarr[newarr.length] = str[i]
		}
	}
	console.log(newarr);

3.0 Delete elements in array

	var str = [12, 123, 2312, 0, 1, 32, 45, 0, 0, 0]
	var newarr = []
	for (var i = 0; i < str.length; i++) {
    
    
	
		if (str[i] != 0) {
    
    
			newarr[newarr.length] = str[i]
		}
	}
	console.log(newarr);

3.0 Flip array

	//arr数组最后一个索引开始赋值给str第一个索引,依次循环
	var arr = ['red', 'green', 'blue', 'green']
	var str = []
	for (var i = arr.length - 1; i >= 0; i--) {
    
    
		str[str.length] = arr[i]
	}
	console.log(str);

3.1 Bubble sort

	// 1.从小到大
	var arr = [12, 231, 12, 2, 5, 1, 10000]
	// 外层循环管趟数
	for (var i = 0; i < arr.length; i++) {
    
    
		// 内层循环:每一趟的交换次数,第一次是arr.length-1,第二次arr.length-2,.......
		for (var j = 0; j < arr.length - 1 - i; j++) {
    
    
			// 通过temp进行交换
			if (arr[j] > arr[j + 1]) {
    
    
				temp = arr[j]
				arr[j] = arr[j + 1]
				arr[j + 1] = temp
			}
		}
	}
	console.log(arr);

	// 2.从大到小
	var arr = [12, 231, 12, 2, 5, 1, 10000]
	// 外层循环管趟数
	for (var i = 0; i < arr.length; i++) {
    
    
		// 内层循环:每一趟的交换次数,第一次是arr.length-1,第二次arr.length-2,.......
		for (var j = 0; j < arr.length - 1 - i; j++) {
    
    
			// 通过temp进行交换
			if (arr[j] < arr[j + 1]) {
    
    
				temp = arr[j]
				arr[j] = arr[j + 1]
				arr[j + 1] = temp
			}
		}
	}
	console.log(arr);

Guess you like

Origin blog.csdn.net/m0_62496369/article/details/127311883