Day15-二维数组字符串

news2025/1/20 6:03:51

文章目录

  • 一 二维数组
  • 二 字符串
    • 案例1
    • 案例2
    • 案例3-随堂练习
    • 案例4-输入-类型转换
    • 案例5
    • 案例6
    • 案例7

一 二维数组

image-20230308184253901

    <script>
        // 书:编号 名称 描述 价格

        /**
         * 二维数组
         * 
        */
        let arr = [ 
            [1001,"HTML","网页设计",100],
            [1002,"CSS","样式设计",150] ,
            [1003,"JavaScript","前端脚本语言",100]  
        ]

        //查询二维数组的数据
        console.log(arr[0]);
        console.log(arr[1]);
        console.log(arr[2]);


        console.log(arr[0][0]);
        console.log(arr[0][1]);
        console.log(arr[0][2]);
        console.log(arr[0][3]);
        console.log("------------------");
        console.log(arr[1][0]);
        console.log(arr[1][1]);
        console.log(arr[1][2]);
        console.log(arr[1][3]);

        console.log("------------------");
        console.log(arr[2][0]);
        console.log(arr[2][1]);
        console.log(arr[2][2]);
        console.log(arr[2][3]);

        console.log("-------------");
        

        
        // 循环的嵌套
        for(let i=0;i<3;i++){
            for(let j=0;j<4;j++){
                console.log(i,j);
            }
        }
        
        console.log("-------------------------");
        //二维数组的遍历
        for(let i=0;i<arr.length;i++){
            for(let j=0;j<arr[i].length;j++){
                console.log(arr[i][j]);
            }
        }


        console.log("----------二维数组的增删改查---------------");
        // 新增一本书籍
        let book = [1004,"H5实战","移动端开发",300]
        //向二维数组的末尾追加元素
        arr.push(book)

        // 修改第二本书的价格为188
        arr[1][3] =188
        // 查看第四本书的信息
        console.log(arr[3]);
        //  删除第三本书籍
        arr.splice(2,1)

        console.log(arr);
    </script>

二 字符串

image-20221202101032368

    <script>
        let str = "aa-bb-cc"
        // 1字符串的长度
        let len = str.length
        console.log(len);
        // 2通过下标取字符串中的某个字符
        console.log(str[0]);
        // 3字符串截取
            //从指定的下标截取到字符串的末尾
            let s1 = str.substr(4)
            console.log(s1);
            //根据指定的下标区间截取字符串
            let s2 = str.substring(1,7)
            console.log(s2);
        // 4字符串的分割,分割后得到数组
            let arr = str.split("-")
            console.log(arr);
        // 5字符串替换 replaceAll(old,new)
        let s3 = str.replaceAll("-","#")
        console.log(s3);
    </script>

案例1

let str=“at7cH63OPbQ81”;

一共由多少字符组成?

其中数字有几个?

    <script>
        let str="at7cH63OPbQ81";

        //一共由多少字符组成?
        let len = str.length
        console.log("共由",len,"个字符组成");

        //其中数字有几个?
        /**
         * isNaN(字符串) 用来判断非数字
         *              非数字 结果为true
         *              数字    结果为false
         * 
        */

        let count = 0
       //1遍历字符串
       for(let i=0;i<str.length;i++){
            // 2.使用if语句判断
            if(!isNaN(str[i])){
                count = count + 1
            }
       }
       console.log("数字有",count,"个");
    </script>

知识点:

​ 获取字符串长度

​ 通过下标取字符串中的字符

​ 判断某个字符是不是非数字

案例2

let str=“王婧,苏小雨,唐纯莉,王璐苑,姜藤椒”;

一共有多少人?

第三个人是谁?

姓王的人有哪些?

姓王的人有几个?

将 苏小雨 更名为 苏晓宇

    <script>
        let str="王婧,苏小雨,唐纯莉,王璐苑,姜藤椒";

        //字符串切割
        let arr = str.split(",")  
        console.log(arr);

        //1一共有多少人?
        let len = arr.length
        console.log("一共有",len,"个人");

        //2第三个人是谁?
        console.log("第三个人是",arr[2]);

        //3姓王的人有哪些?
        for(let i=0;i<arr.length;i++){
            if(arr[i].substring(0,1) == "王"){
                console.log(arr[i]);
            }
        }

        //4姓王的人有几个?
        let count = 0
        for(let i=0;i<arr.length;i++){
            if(arr[i].substring(0,1) == "王"){
                count = count + 1
            }
        }
        console.log("姓王的人有",count,"个");
        //将 苏小雨 更名为 苏晓宇
        let newStr = str.replaceAll("苏小雨","苏晓宇")
        console.log(newStr);
    </script>

知识点:

​ 字符串切割

​ 字符串截取

​ 字符串替换

案例3-随堂练习

let arr = [“姜刚”,“董天启”,“董成”,“王显菊”,“董存瑞”,“万清”];

请问姓董的成员有几个?

姓董的3字名人员有哪些

姓董的人员,或者3字名人员有哪些

不姓董的人员有哪些

    <script>
        let  arr = ["姜刚","董天启","董成","王显菊","董存瑞","万清"];

        //请问姓董的成员有几个?
        let count = 0
        for(let i=0;i<arr.length;i++){
            if(arr[i].substring(0,1) == "董"){
                count = count + 1
            }
        }
        console.log("姓董的有",count,"个");
        //姓董的3字名人员有哪些
        for(let i=0;i<arr.length;i++){
            if(arr[i].substring(0,1) == "董" && arr[i].length == 3){
                console.log(arr[i]);
            }
        }

        //姓董的人员,或者3字名人员有哪些
        for(let i=0;i<arr.length;i++){
            if(arr[i].substring(0,1) == "董" || arr[i].length == 3){
                console.log(arr[i]);
            }
        }

        //不姓董的人员有哪些
        for(let i=0;i<arr.length;i++){
            if(arr[i].substring(0,1) != "董" ){
                console.log(arr[i]);
            }
        }

    </script>

巩固已学知识点

案例4-输入-类型转换

从键盘输入两个数字求和

    <script>
        /**
         * 输入
         *  用户在浏览器上输入的所有数据,都是字符串类型
         * 
        */
        let n = prompt("请输入第一个数")
        let m = prompt("请输入第二个数")

        // 字符串转整数
        let a = parseInt(n)
        // 字符串转小数
        let b = parseFloat(m)

        let sum = a + b
        console.log(sum);
    </script>

知识点

​ 输入

​ 字符串转整数

​ 字符串转小数

案例5

let arr = [“亚瑟”, “安琪拉”, “兰陵王”, “百里守约”, “周瑜”, “诸葛亮”] ;
键盘输入英雄名字的长度,查询匹配的英雄.

从键盘输入姓氏,查询匹配的名单.

    <script>
        let arr = ["亚瑟", "安琪拉", "兰陵王", "百里守约", "周瑜", "诸葛亮"];
        //键盘输入英雄名字的长度,查询匹配的英雄.
        let n = prompt("请输入英雄名字的长度")
        for (let i = 0; i < arr.length; i++) {
            if (arr[i].length == n) {
                console.log(arr[i]);
            }
        }

        //从键盘输入姓氏,查询匹配的名单.
        let firstName = prompt("请输入姓氏")
        for (let i = 0; i < arr.length; i++) {
            if (arr[i].substring(0, 1) == firstName) {
                console.log(arr[i]);
            }
        }

    </script>

巩固已学知识点

案例6

let arr = [3,5,1,7,6]

用户输入一个整数,在数组中查找此整数,找到输出下标,没找到给出找不到。

解法1

    <script>
        let arr = [3,5,1,7,6]
        //用户输入一个整数,在数组中查找此整数,找到输出下标,没找到给出找不到。
        let n = prompt("请输入一个数")
        //把n转整数
        n = parseInt(n)
        let index = arr.indexOf(n)
        if(index == -1){
            console.log("找不到");
        }else{
            console.log("找到了,下标是",index);
        }
        
    </script>

答案2

    <script>
        let arr = [3,5,1,7,6]
        //用户输入一个整数,在数组中查找此整数,找到输出下标,没找到给出找不到。
        let n = 5;
        //创建一个变量,存储下标
        let index = -1
        for(let i=0;i<arr.length;i++){
            if(arr[i] == n){
                index = i
                //当下标找到后,使用break结束循环
                break
            }
        }

        //在循环的外面判断结果
        if(index == -1){
            console.log("找不到");
        }else{
            console.log(index);
        }
    </script>

案例7

用户输入一个书籍编号,在数组中查找相应的书籍,找到输出下标,没找到给出找不到。

    <script>
        let arr = [ 
            [1001,"HTML","网页设计",100],
            [1002,"CSS","样式设计",150] ,
            [1003,"JavaScript","前端脚本语言",100]  
        ]

       // 用户输入一个书籍编号,在数组中查找相应的书籍,找到输出下标,没找到给出找不到。
        let id = 1004

        let index = -1
        for(let i=0;i<arr.length;i++){
            if(arr[i][0] == id){
                index = i
                break
            }
        }

        if(index == -1){
            console.log("找不到");
        }else{
            console.log(index);
        }

    </script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/414610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode刷题之环形链表

莫等闲&#xff0c;白了少年头&#xff0c;空悲切。 --岳飞 目录 1.环形链表 2.环形链表Ⅱ 1.环形链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next …

Stable Diffusion扩散模型

1 GAN到Stable Diffusion的改朝换代 随着人工智能在图像生成&#xff0c;文本生成以及多模态生成等生成领域的技术不断累积&#xff0c;生成对抗网络&#xff08;GAN&#xff09;、变微分自动编码器&#xff08;VAE&#xff09;、normalizing flow models、自回归模型&#xf…

Android Textview Button 等基础组件学习

一 Textview 1 基本使用 <?xml version"1.0" encoding"utf-8"?><LinearLayout android:layout_height"match_parent"android:layout_width"match_parent"android:orientation"vertical"xmlns:android"http…

vue中的pinia使用和持久化 - 粘贴即用

学习关键语句&#xff1a; pinia怎么用 写在前面 pinia 作为 vuex 的替代品好像变得不得不学习了&#xff0c;学起来一用发现 vuex 是什么麻烦的东西&#xff0c;我不认识 这篇文章一共包含的内容有&#xff1a; 安装 pinia读取数据修改数据数据持久化 其中&#xff0c;修…

代码不熟没关系,让AI替你写

程序员早已不是一个陌生的群体&#xff0c;但程序、代码相对普通人而言&#xff0c;看着还是比较深奥难懂&#xff0c;但自从有了ChatGPT&#xff0c;不少对此有兴趣的外行人士&#xff0c;也能轻松写出代码了&#xff0c;比如让ChatGPT写一个贪吃蛇游戏&#xff0c;按它给出的…

C++入门(2)

C入门1.缺省参数1.1. 缺省参数举例和概念1.2. 函数的传参是从左到右给参数的1.3.缺省参数分类1.4. 缺省参数的函数声明与定义2.函数重载2.1.函数重载的概念2.2. 函数重载的情况2.3.剖析C语言不能函数重载而C却可以的原因2.3.1. 编译链接过程2.3.2. 函数名修饰规则3.引用3.1. 引…

Java并行流:一次解决多线程编程难题,让你的程序飞起来

前言 在日常的工作中&#xff0c;为了提高程序的处理速度&#xff0c;充分利用多核处理器的性能&#xff0c;我们需要手动编写多线程代码。但是多线程编程非常复杂&#xff0c;容易出现死锁、竞态条件等问题&#xff0c;给我们带来了很大的困扰。而 Java 并行流则提供了一种更加…

python机器学习和深度学习在气象中的应用

查看原文>>> Python人工智能在气象中的实践技术应用 Python 是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面具备优异的性能&#xff0c;这些优势使得 Python 在气象、海洋、地理、…

14:24面试,14:32就出来了 ,问的实在是太...

从外包出来&#xff0c;没想到算法死在另一家厂子&#xff0c;自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到8月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有…

PythonFlash+MySQL实现简单管理系统的增删改查

今天简单分享一下用Python的flash框架结合MySQL来实现信息管理系统的增删改查&#xff01; ps&#xff1a;该博客只完成了信息的添加和查看&#xff0c;删除和修改按照该方法下推即可&#xff01; 实现功能之前我们先在数据库里设置数据&#xff0c;例如&#xff1a; 我们创…

日常记录:天梯赛练习集L1-046 整除光棍

题目&#xff1a; 这里所谓的“光棍”&#xff0c;并不是指单身汪啦~ 说的是全部由1组成的数字&#xff0c;比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如&#xff0c;111111就可以被13整除。 现在&#xff0c;你的程序要读入一个整数x&#x…

Mac环境下nvm的安装与环境配置

目录 1.nvm简介 2.nvm安装 3.配置nvm环境 1.nvm简介 nvm全称 Node Version Manager &#xff0c;意思为node版本控制&#xff1b;它是一个命令行应用&#xff0c;可以快速地更新、安装、使用、卸载本机的全局 node.js 版本。他可以在同一台电脑上进行多个node版本之间的切换…

redis基础(6.0)数据结构、事务、常用组件等

1 概述 1.1 redis介绍 Redis 是互联网技术领域使用最为广泛的存储中间件&#xff0c;它是「Remote Dictionary Service」的首字母缩写&#xff0c;也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、 简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。…

华为手表开发:WATCH 3 Pro(16)传感器订阅气压

华为手表开发&#xff1a;WATCH 3 Pro&#xff08;16&#xff09;传感器订阅气压初环境与设备气压传感器介绍与说明鸿蒙开发文件夹&#xff1a;文件新增展示的文本标记index.hmlindex.cssindex.js初 希望能写一些简单的教程和案例分享给需要的人 鸿蒙可穿戴开发 环境与设备 …

【目标检测】YOLOv5:修改自己的网络结构

前言 YOLOv5就像一座金矿&#xff0c;里面有无数可以学习的东西。之前的博文一直将YOLOv5当作一个黑盒使用&#xff0c;只考虑模型的输入和输出&#xff0c;以此来对模型进行二次开发。 本篇博文将更近一层&#xff0c;深入到“金矿”内部&#xff0c;来尝试对模型结构进行替换…

高并发浅析

什么是高并发 高并发指通过设计保证系统能够同时并行处理很多请求&#xff0c;是分布式系统非常重要的概念 评价分布式系统性能的指标有&#xff1a; 响应时间&#xff1a;系统对请求做出响应的时间。吞吐量&#xff1a;单位时间内处理的请求数量。QPS&#xff08;和吞吐量基…

C++标准库 -- 顺序容器 (Primer C++ 第五版 · 阅读笔记)

C标准库 -- 顺序容器(Primer C 第五版 阅读笔记&#xff09;第9章 顺序容器------(持续更新)9.1、顺序容器概述9.2、容器库概览9.2.1 、迭代器9.2.2 、容器类型成员9.2.3 、begin 和 end 成员9.2.4 、容器定义和初始化9.2.5 、赋值和 swap9.2.6 、容器大小操作9.2.7 、关系运算…

电脑0x0000001A蓝屏错误怎么U盘重装系统教学

电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug&#xff0c;只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢&#xff1f;来看看以下的详细操作方法教学吧。 准备工作&…

ThinkPad-L480电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板ThinkPad-L480 处理器Intel Core i7-8550U已驱动 内存16GB DDR4 2400Mhz已驱动 硬盘Intel 760p 512GB已驱动 显卡Intel UHD 620已驱动 声卡瑞昱…

【探花交友】day06—即时通信

目录 1、即时通信 1.1、什么是即时通信&#xff1f;​编辑 1.2、功能说明 1.3、技术方案 2、环信 2.1、开发简介 2.2、环信Console 2.3、接口说明 3、抽取环信组件 3.1、编写HuanXinTemplate 3.2、编写Properties对象 3.3、配置 3.4、测试 4、用户体系集成 4.1、…