03-JavaScript数组

1.通过直接量创建数组

var arr = [1, 2, 3, 'abc', 'true'];
        console.log(arr);

2.通过构造函数来创建数组

        var arr2 = new Array("张三", "李四");
        console.log(arr2);
        var arr3 = new Array(5); //数组长度
        console.log(arr3);
        var arr4 = new Array(1, 2, 3, "哇哦", 5);
        console.log(arr4);

3.访问数组元素

        console.log(arr);
        console.log(arr[3]);
        arr[3] = 'ABC';
        console.log(arr);
        delete arr[3]; //会留一个empty空间
        console.log(arr);

4.获得数组长度

        console.log(arr.length);
        arr.length = 3; //长度减小
        console.log(arr);
        arr.length = 10; //长度扩大
        console.log(arr);

5.遍历数组

        var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
        for (i = 0; i < arr.length; i++) {
            console.log(arr[i]);
        }

6.二维数组

        var arr = [1, 2, 3, [4, 5], 6, [7, 8, 9]];
        console.log(arr);

7.求数组的最大值

        var arr = [5, 11, 6, 88, 55, 21]
            var max = arr[0];
            var xia = 0;
            for (i = 1; i < arr.length; i++) {
                if (max < arr[i]) {
                    max = arr[i];
                    xia = i;
                }
            }
            console.log(max);
            console.log(xia);

8.求数组的最小值

        var min = arr[0];
        for (i = 0; i < arr.length; i++) {
            if (min > arr[i]) {
                min = arr[i];
                xia = i;
            }
        }
        console.log(min);
        console.log(xia);

9.冒泡排序

        var temp;
        // for (j = 0; j < arr.length; j++) {
        //     for (var i = 0; i < arr.length; i++) {
        //         if (arr[i] > arr[i + 1]) {
        //             temp = arr[i];
        //             arr[i] = arr[i + 1];
        //             arr[i + 1] = temp;
        //         }
        //     }
        // }

        //改进
        //控制比较几趟
        for (j = 0; j < arr.length - 1; j++) {
            //控制每次比较的元素个数
            for (var i = 0; i < arr.length - j - 1; i++) {
                if (arr[i] > arr[i + 1]) {
                    // temp = arr[i];
                    // arr[i] = arr[i + 1];
                    // arr[i + 1] = temp;

                    //解构赋值
                    [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]]
                }
            }
        }
        console.log(arr);

10.数组的操作方法

        //1.操作方法需要传递哪些参数
        //2.操作方法的返回值是什么
        //3.是否改变原来数组

        var arr = [5, 2, 8, 22, 94, 1];
        console.log(arr);

        //1.push() 将一个或多个元素添加到数组末尾:栈方法
        // arr.push(3, 2, 50);           //传递的参数为要添加的元素
        console.log(arr.push(3, 2, 50)); //返回值数组长度
        console.log(arr); //改变原数组

        //2.pop() 从数组末尾删除一个元素:栈方法
        // arr.pop();               //没有参数
        console.log(arr.pop()); //返回被删除的元素
        console.log(arr); //改变原数组

        //3.unshift() 将一个或多个元素添加到数组的开头:队列方法
        // arr.unshift(7, 100);           //传递的参数为要添加的元素   
        console.log(arr.unshift(7, 100));//返回值数组长度
        console.log(arr); //改变原数组

        //4.shift() 从数组的开头删除一个元素:队列方法
        // arr.shift();              //没有参数  
        console.log(arr.shift());//返回被删除的元素
        console.log(arr);//改变原数组

        //5.includes() 数组中是否含有某个元素
        console.log(arr.includes(100)); //传递的参数为查找的元素;返回值true、false
        console.log(arr); //不改变

        //6.indexOf()
        console.log(arr.indexOf(4)); //传递的参数为要查找的元素;返回值查找元素第一次出现位置的索引下标,查找失败返回-1
        console.log(arr); //不改变
        //console.log(arr.indexOf(4, [0])); []可选参数

        //7.join()  将数组的所有元素连接到一个字符串中
        console.log(arr.join("-")); //参数为字符;返回值是拼接字符串;不改变原数组
        console.log(arr);

        // 8. toString()
        console.log(arr.toString()); //无参数;返回值是拼接字符串;不改变原数组
        console.log(arr);

        //9.Array.isArray()
        console.log(Array.isArray(arr)); //参数为字符;返回值是true、false;不改变原数组
        console.log(arr);

        //10.splice()  数组的增删改
        // arr.splice(insex, 要删除的元素的个数, 要增加的元素);
        console.log(arr);
        //删除元素
        console.log(arr.splice(3, 2)); //返回值是个数组,被删除元素组成的数组
        console.log(arr);
        //添加元素
        arr.splice(3, 0, 11, 12, 13); //返回空数组
        console.log(arr);
        //修改元素
        arr.splice(3, 3, 4, 5, 6);
        console.log(arr);

        // 11.slice() 复制原数组的部分内容
        console.log(arr.slice(2, 6)); //参数为:开始和结束的索引(包含开始不包含结束);返回值复制的数组
        //克隆数组
        console.log(arr.slice(0));

        // 12.reverse() 颠倒数组
        arr.reverse();
        console.log(arr);

        //13.concat() 连接两个或多个数组的
        console.log(arr.concat([101, 102, 103], [201, 202, 203], [301, 302, 303])); //参数为需要拼接的数组;返回值拼接后的新数组;不改变原数组
        console.log(arr);

11.清空数组

        var arr = [5, 2, 8, 22, 94, 1];
        console.log(arr);
        arr = [] //原数组不改变
            // arr.length = 0 //原数组改变了
        console.log(arr);

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Transformer的前世今生 day06(Self-Attention和RNN、LSTM的区别)

Self-Attention和RNN、LSTM的区别 RNN的缺点&#xff1a;无法做长序列&#xff0c;当输入很长时&#xff0c;最后面的输出很难参考前面的输入&#xff0c;即长序列会缺失上文信息&#xff0c;如下&#xff1a; 可能一段话超过50个字&#xff0c;输出效果就会很差了 LSTM通过忘…

fuzzywuzzy,一个好用的 Python 库!

目录 前言 安装 基本功能 1. 字符串相似度比较 2. 模糊匹配与排序 实际应用场景 1. 数据清洗 2. 文本匹配与搜索 3. 搜索引擎优化 总结 前言 大家好&#xff0c;今天为大家分享一个好用的 Python 库 - fuzzywuzzy Github地址&#xff1a;https://github.com/seatgeek/fu…

计算机网络基础——网络安全/ 网络通信介质

chapter3 网络安全与管理 1. 网络安全威胁 网络安全&#xff1a;目的就是要让网络入侵者进不了网络系统&#xff0c;及时强行攻入网络&#xff0c;也拿不走信息&#xff0c;改不了数据&#xff0c;看不懂信息。 事发后能审查追踪到破坏者&#xff0c;让破坏者跑不掉。 网络…

MySQL进阶-----索引的语法与SQL性能分析

目录 前言 一、索引语法 1.SQL语法 2.案例演示 二、SQL性能分析 三、慢查询日志 1.开启日志 2.测试样例 四、profile详情 1.开启profile 2.profile测试SQL语句 五、explain详情 1.语法结构 2.执行顺序示例&#xff08;id&#xff09; 3.执行性能示例(type) 前言 本…

常用的苹果应用商店上架工具推荐

摘要 移动应用app上架是开发者关注的重要环节&#xff0c;但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作&#xff0c;各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用&#xff0c;最终指出合理使用工具的重要性。 引言 移动应…

考研数学|汤家凤1800基础部分要做完吗?

我教你一个方法&#xff0c;保证让你高质量的做完1800基础部分&#xff0c;而且还不用把所有题目都做了 我当然不是教你如何投机取巧&#xff0c;投机取巧是考不了高分的&#xff0c;我教你的都是我在实际考研过程中实际运用到的方法&#xff01; 其实这个方法也是我在二战的时…

StatefulBuilder 和 Builder

前言 果然了解的越多&#xff0c;越发现自己狗屁都不是。StatefulBuilder 和 Builder 之前真的不知道。还是在 对话框状态管理 中了解到了这两个东西。 简介 以下内容来自通义灵码 在Flutter中&#xff0c;StatefulBuilder 和 Builder 都是用来动态构建 widget 树的组件&am…

2024年第十届国际虚拟现实大会(ICVR 2024)即将召开!

会议面向虚拟现实、增强现实、人工智能等互联网新技术领域的专家及学者&#xff0c; 致力于共同促进国内外虚拟现实的发展与应用。 2014年至今&#xff0c;ICVR在全球新加坡&#xff0c;美国洛杉矶&#xff0c;中国成都&#xff0c;香港等国家及地区召开&#xff0c;面向虚拟现…

Git_常用命令+代码冲突解决方案

文章目录 基本命令的使用查看git的当前版本初始化配置设置用户名及邮箱设置仓库的认证方式查看当前配置 创建仓库从远程服务器克隆仓库创建本地仓库 添加和提交文件工作区域和文件状态工作区域文件状态 查看文件状态及分支信息查看暂存区的内容添加文件提交文件查看提交日志回退…

ETLCloud结合Oracle实现CDC

CDC&#xff0c;即Change Data Capture&#xff08;变更数据捕获&#xff09;功能&#xff0c;主要针对实时数据同步和更新场景&#xff0c;能够实时监测数据库中的数据变化&#xff0c;并将发生变化的数据进行高效精准地捕获和传输&#xff0c;极大地提高了数据处理的效率以及…

ATFX汇市:美联储理事沃勒表示, 降低通胀的进展已经放缓,美指受提振

ATFX汇市&#xff1a;昨日&#xff0c;美联储理事在纽约经济俱乐部发表演讲&#xff0c;期间提到&#xff1a;第四季度国内生产总值&#xff08;GDP&#xff09;数据以及1月份就业增长和通胀数据比预期的要热&#xff0c;这意味着不急于开始降息以使货币政策立场正常化&#xf…

蓝桥杯-正则问题

#include<iostream> #include<string> #include<algorithm> using namespace std;int pos 0, l;//pos当前遍历到的位置&#xff0c;l是正则式的长度 string s;int dfs(){int temp 0, ans 0;//temp保存左半部分 while(pos < l){if(s[pos] (){pos;//跳…

JAVA_for - each循环

本章咱们聊聊简单的for-each循环&#xff1a;看完这章&#xff0c;写个test代码&#xff0c;以后写for-each循环应该就是探囊取物&#xff0c;胸有成竹。 for-each循环基本语法 for(元素类型 元素变量 : 数组名) {//操作语句 } 简单说几句&#xff1a; for-each循环是for循环…

Games104 听后笔记

1、为什么UE5要自己写一套STL库 因为传统的STL库中&#xff0c;例如&#xff1a;vector&#xff0c;它一般采用的是双倍扩容法&#xff0c;加入1000个数据装满了&#xff0c;现在需要又加一个&#xff0c;那么就开辟了2000个数据的空间&#xff0c;那么当前就又999的数据空间暂…

Java的字符串的基础知识(必看)

目录 Java的字符串的基础知识(必看) String API的使用 String概述 创建String对象的两种方式 号比的是什么? 难点 经典String案例 易错点 StringBuilder 疑难点: StringJoiner 字符串相关类的底层原理 中文的存储原理 String的常见的构造方法 Java的字符串的基础…

github加速神器!解决github巨慢的问题,并且能够加速下载!另外推荐GitKraken -- 超好用的 Git 可视化工具

FastGithub github加速神器&#xff0c;解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题。 下载地址&#xff1a; 清华云盘 2 部署方式 2.1 windows-x64桌面 双击运行FastGithub.UI.exe 2.2 windows-x64服务 fastgi…

WorkPlus最佳的内网通讯软件解决方案,助力企业构建高效沟通环境

高效的内部通讯对于团队协作和工作效率至关重要&#xff0c;而选择适合的内网通讯软件&#xff0c;能够提升企业的通讯效能。WorkPlus以其卓越的性能和全面的功能&#xff0c;成为企业内网通讯软件的最佳选择。 为何选择WorkPlus作为企业的内网通讯软件呢&#xff1f;首先&…

西藏实景三维技术研讨交流会成功举办

2024年3月21-22日&#xff0c;西藏自治区“实景三维技术研讨交流会”在拉萨成功举办。 本次会议由西藏自治区自然资源厅、自然资源部重庆测绘院指导&#xff0c;西藏自治区测绘学会、西藏自治区地理信息产业协会主办&#xff0c;武汉大势智慧科技有限公司&#xff08;后简称“…

Java多线程实战-从零手搓一个简易线程池(二)线程池与拒绝策略实现

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️本系列源码仓库&#xff1a;多线程并发编程学习的多个代码片段(github) &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正…

【每日一题 | 动态规划】访问完所有房间的第一天

文章目录 Tag题目来源解题思路方法一&#xff1a;动态规划 写在最后 Tag 【动态规划】【数组】【2024-03-28】 题目来源 1997. 访问完所有房间的第一天 解题思路 方法一&#xff1a;动态规划 定义状态 定义 f[i] 表示第一次到达房间 i 的日期编号。 根据题意&#xff0c;…
最新文章