js基础精选案例

主要是自己用来复习用的。如果想要练习的小伙伴也可以参考一下哦~

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);

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里为您提供一个简单的JS基础案例商城: HTML代码: ``` <!DOCTYPE html> <html> <head> <title>JS基础案例商城</title> </head> <body> <h1>JS基础案例商城</h1> <h2>商品列表</h2> <ul id="product-list"> <li> <span class="product-name">商品1</span> <span class="product-price">10元</span> <button class="add-to-cart">加入购物车</button> </li> <li> <span class="product-name">商品2</span> <span class="product-price">20元</span> <button class="add-to-cart">加入购物车</button> </li> <li> <span class="product-name">商品3</span> <span class="product-price">30元</span> <button class="add-to-cart">加入购物车</button> </li> </ul> <h2>购物车</h2> <ul id="cart"> </ul> <h2>总价</h2> <div id="total-price">0元</div> <script src="script.js"></script> </body> </html> ``` JavaScript代码: ``` // 获取商品列表 const productList = document.getElementById('product-list'); // 获取购物车 const cart = document.getElementById('cart'); // 获取总价 const totalPrice = document.getElementById('total-price'); // 初始化总价为0元 let total = 0; // 遍历商品列表中的每个商品 productList.querySelectorAll('li').forEach(function(product) { // 获取商品名称 const name = product.querySelector('.product-name').textContent; // 获取商品价格 const priceText = product.querySelector('.product-price').textContent; const price = parseFloat(priceText); // 获取加入购物车按钮 const addToCartButton = product.querySelector('.add-to-cart'); // 为加入购物车按钮添加点击事件 addToCartButton.addEventListener('click', function() { // 创建一个新的购物车项 const cartItem = document.createElement('li'); const cartItemName = document.createElement('span'); cartItemName.textContent = name; const cartItemPrice = document.createElement('span'); cartItemPrice.textContent = priceText; const cartItemRemoveButton = document.createElement('button'); cartItemRemoveButton.textContent = '删除'; cartItemRemoveButton.addEventListener('click', function() { // 删除购物车项时同时减去总价 total -= price; totalPrice.textContent = total + '元'; cart.removeChild(cartItem); }); cartItem.appendChild(cartItemName); cartItem.appendChild(cartItemPrice); cartItem.appendChild(cartItemRemoveButton); // 将购物车项加入购物车 cart.appendChild(cartItem); // 加上购物车项的价格 total += price; totalPrice.textContent = total + '元'; }); }); ``` 这个案例商城包括了商品列表、购物车和总价三个部分。当用户点击商品列表中的加入购物车按钮时,会将商品名称、价格和一个删除按钮一起加入购物车中,并且总价会相应地增加。如果用户点击购物车中的删除按钮,则会将购物车项从购物车中删除,并且总价会减少相应的价格。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值