主要是自己用来复习用的。如果想要练习的小伙伴也可以参考一下哦~
1.[red','blue','red','green','pink','red'],求red出现的位置和次数
//思路是 先把第一个red的坐标找出来 然后遍历 每次查找的位置是上一个位置+1;
var arr = ['red', 'blue', 'red', 'green', 'pink', 'red'];
var index = arr.indexOf('red'); //0
var num = 0;
while (index != -1) {
console.log(index);
num++;
index = arr.indexOf('red', index + 1);
}
console.log('red出现的次数是' + num);
2.数组去重
//2.数组去重 封装一个去重的函数
//遍历旧数组,去看新数组里面有没有这个元素,如果有就把他加上。那怎么知道新数组有没有这个元素呢 可以用indexOf()
function quc(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++)
//这句话的意思时 如果 检测新数组里面没有旧数组里面的第i个元素的时候
//那么就在新数组的后面添加arr里面的i这个元素
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
return newArr;
}
var dome = quc(["3", "2", "3", "5"])
console.log(dome);
3.数组筛选
//3. 数组筛选
//要求将数组中小于2000的放到新数组
var arr = [1800, 2200, 1600, 1990, 3500, 1200];
var arrn = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < 2000) {
arrn.push(arr[i]);
}
}
console.log(arrn);
4.计算你出生多少天了
//4.计算你从出生到现在的日期?活了多少天了
// 我出生的日子
var br = new Date("1999 / 04 / 05");
var t1 = br.getTime();
console.log(t1);
//当前的毫秒数
var date = new Date();
var t2 = date.getTime();
console.log(t2);
//当前的毫秒数-出生毫秒数
var live = t2 - t1;
var live = live / 1000 / 24 / 60 / 60;
console.log('你已经活了' + live + '天了');
5.倒计时
//思路:获取当前的时间转为毫秒。 获取倒计时的时间转为毫秒。
var date1 = new Date('2022/4/9 22:00:00');
var dates = date1.getTime();
// console.log(dates + '22点');
//获取当前的毫秒
var datenow = +new Date();
// console.log(datenow + '当前');
//用22点-现在的时间就是剩余多少时间
var timer = (dates - datenow) / 1000; //得到总秒数
console.log(timer);
//把他转为时分秒
var d = parseInt(timer / 60 / 60 / 24);
// console.log(d + '天');
var h = parseInt(timer / 60 / 60 % 24);
// console.log(h + '时');
var m = parseInt(timer / 60 % 60);
// console.log(m + '分钟');
var s = parseInt(timer / 60 % 60);
// console.log(s + '秒');
console.log('距离22:00:00' + "还有" + d + '天' + h + ":" + m + ':' + s);
6.复习今日内置对象
//6.今日的内置对象 Array String date ... 里面常用的方法熟练
// 6.1 数组Array的内置对象有 添加数组元素 开头添加是unshift 结尾添加是push 删除 开头删除是shift 结尾删除pop
// 数组转为字符串 变量名.toString() 数组分隔符join 数组链接concat 数组1.concat(数组2)
// 判断是否为数组 arr.instanceof Array Arrary isArrary(arr);
// 数组翻转 reverse 数组排序 sort
// 根据字符返回下标 indexOf() lastIndexOf()
//6.2字符串 String的内置对象有 根据字符返回下标 indexOf() lastIndexOf()
// 根据下标返回字符 charAt() charAtCOde() 变量名[]
// 链接字符 concat 截取字符substr('开始截取','截取几个字符');
// 替换字符 replace('要替换的字','替换成什么')注意他只会替换第一个字符
// 分割字符spli('&')
//6.3时间的内置对象Date 首先一定要声明函数 var date=new Date();
7.翻转数组
var arr = [1800, 2200, 1600, 1990, 3500, 1200];
var arrnew = [];
for (var i = arr.length - 1; i >= 0; i--) {
arrnew.push(arr[i]);
}
console.log(arrnew);
8.冒泡排序
var arr = [1800, 2200, 1600, 1990, 3500, 1200];
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j <= arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
9.擂台思想
var arr = [1800, 2200, 1600, 1990, 3500, 1200];
var max = arr[0];
for (var i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
console.log(max);
10.穷举思想
//有一群人 ,如果3个人占一排 多出1个人 如果4人站一排 多出2 人 如果5人站一排多出3人 请问有多少人
for (var i = 1; i < Infinity; i++) {
if (i % 3 == 1 && i % 4 == 2 && i % 5 == 3) {
console.log('有' + i + '人');
break;
}
}
11.利用new Object创建对象
var obj = new Object();
obj.name = '刘德华';
obj.sing = function() {
console.log('唱歌');
}
console.log(obj.name);
obj.sing()
12.创建一个车的构造函数
function Bccar(names, xh) {
this.name = names;
this.xinghao = xh;
}
var bc = new Bccar('奔驰越野', '型号不明');
console.log(bc);
13.猜数字游戏(随机数)
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getRandom(1, 10);
for (var i = 10; i > 1; i--) {
var num = prompt('请输入数字');
if (num > random) {
alert('猜大了哦' + "您还有" + i + "次机会哦")
} else if (num < random) {
alert('猜小了哦' + "您还有" + i + "次机会哦")
} else {
alert('恭喜你猜对了')
}
}
14.统计出现次数最多的字符
var arr = 'abjsakdaadadnkaa';
var arrnew = {};
for (var i = 0; i < arr.length; i++) {
var chars = arr.charAt(i);
if (arrnew[chars]) {
arrnew[chars]++;
} else {
arrnew[chars] = 1;
}
}
console.log(arrnew);
var max = 0;
var ch = '';
for (var k in arrnew) {
if (max < arrnew[k]) {
max = arrnew[k];
ch = k;
}
}
console.log('次数是' + max + '出现最多的是' + ch);
15.打印一个5行5列的星星
var str = '';
for (var i = 1; i <= 5; i++) {
for (var j = 1; j <= 5; j++) {
str += '⭐';
}
str += '\n';
}
console.log(str);