JavaScript基础语法7-数组

【深度学习】手把手教你在远程服务器上跑 YOLOv3 相关代码(含环境配置) 这篇文章主要记录了如何配置项目环境以及如何在远程服务器上跑 YOLOv3 模型。 阅读详情
  • 数组(Array)的概念

数组就是一组数据的集合,其中的每个元素被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。

var num = 10 ;         // 普通变量一次只能存储一个值

var arr = [ 1,2,3,5];   //数组一次可以存储多个值

  • 创建数组

1. 利用 new 创建数组

var  数组名 = new Array();

var arr = new Array();   // 创建一个新的空数组

2. 利用数组字面量创建数组(使用的最多)

 // 1. 使用数组字面量方式创建空的数组

var 数组名 = [ ];

//  2. 使用数组字面量方式创建带初始值的数组

var  数组名 = ['大白','小黑','阿黄','小花','瑞奇'];

        数组字面量是方括号[ ]

        声明数组并赋值称为数组的初始化

  • 获取数组中的元素

1.数组的索引

索引(下标): 用来访问数组元素的序号(数组下标从0开始)。

 数组可以通过索引来访问、设置、修改对应的数组元素。我们可以通过"数组名[索引]"的形式来获取数组中的元素。

var arrStus = [1, 2, 3];  // 定义数组

alret(arrStus[1]);    //  获取数组中的第2个元素 

  • 遍历数组

遍历:就是把数组中的每个元素从头到尾都访问一次。

    <script>
        //  遍历就是把数组的元素从头到尾访问一次
        var arr= ['red','green','blue'];
        for(var i = 0; i < 3; i++){
            console.log(arr[i]);
        }
        // 1.因为数组索引号从0开始,所以 i 必须从 0 开始 i < 3
        // 2. 输出的时候 arr[i] i 计数器当索引号来用
    </script>

数组的长度(数组名.length)

        //  1. 数组的长度是元素的个数 不要跟索引号混淆

        //  2. arr.length 动态监测数组元素的个数

示例

    <script>
        // 数组的长度
        var arr= ['关羽','张飞','马超','赵云','黄忠','刘备','姜维'];
        for(var i = 0; i < 7; i++){
            console.log(arr[i]);
        }
        console.log(arr.length);
        for(var i = 0; i < arr.length; i++){
            console.log(arr[i]);
        }
        //  1. 数组的长度是元素的个数 不要跟索引号混淆
        //  2. arr.length 动态监测数组元素的个数
    </script>

案例: 1. 求数组[2,6,1,7,4] 里面所有元素的和以及平均值

 <script>
        //  1. 求数组[2,6,1,7,4] 里面所有元素的和以及平均值
        var arr = [2,6,1,7,4];
        var sum = 0;
        
        for(var i = 0; i < arr.length; i++){
            sum = sum + arr[i]; 
        }
        avg = sum/arr.length;
        console.log(sum);
        console.log(sum/arr.length);
        console.log(sum, avg); // 输出多个变量,用逗号分隔
    </script>

     案例:    2.求数组[2,6,1,77,53,25,7]中的最大值

    <script>
        // 2.求数组[2,6,1,77,53,25,7]中的最大值
        var arr = [2,6,1,77,53,25,7];
        var max = arr[0];
        for(var i = 1; i  < arr.length; i++){
            if(arr[i] > max){
                max = arr[i];
            }
        }
        console.log(max);
    </script>

案例:3. 将数组['red','green','blue','pink']转换为字符串,并且用|或其他符号分割 

    <script>
        // 将数组['red','green','blue','pink']转换为字符串,并且用|或其他符号分割
        // 输出'red|green|blue|pink|'
        var arr = ['red','green','blue','pink'];
        var str = '';
        var sep = '|';
        for(var i = 0; i < arr.length; i++){
           // str = str + arr[i]+'|';
              str = str + arr[i]+ sep ;
        }
        console.log(str);
    </script>
  • 数组中新增元素

1.可以通过修改length长度以及索引号增加数组元素                

  •  可以通过修改length长度来实现数组扩容的目的
  •  length属性是可读写的
    <script>
        // 1. 新增数组元素,修改length长度
        var arr = ['red','green','blue'];
        console.log(arr.length);
        arr.length = 5; // 把数组的长度修改为了 5 里面应该有5个元素
        console.log(arr);
        console.log(arr[3]);    // undefined
        console.log(arr[4]);    // undefined
    </script>

2.通过修改数组索引新增数组元素

  • 可以通过修改数组索引的方式追加数组元素
    <script>    
        // 2. 新增数组元素 修改索引号
        var arr1 = ['red','green','blue'];
        arr1[3]='pink';
        console.log(arr1);
        arr1[4]='hotpink';
        console.log(arr1);
        arr1[0]='yellow'; // 这里是替换原来的数组元素 
        console.log(arr1);
        arr1 = '有点意思';
        console.log(arr1); // 不要直接给 数组名赋值 ,否则里面的数组元素都没有了
    </script>

 案例: 新增一个数组,里面存放10个整数

    <script>
        // 新增一个数组,里面存放10个整数
        var arr = [];
        for(var i = 0; i < 10; i++){
            // arr = i; 不要直接给数组名赋值 否则以前的元素都没了
            arr[i] = i + 1;
        }
        console.log(arr);

    </script>

案例:筛选数组

    <script>
        // 将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组
        // 方法 1
        var arr = [2,0,6,1,77,0,52,0,25,7];
        var newArr = [];
        var j = 0;
        for(var i = 0; i < arr.length; i++){
            if(arr[i] >= 10){
                //  新数组索引号应该从0开始,依次递增
                newArr[j] = arr[i];
                j++;
            }
        }
        console.log(newArr);
        // 方法 2
        var arr = [2,0,6,1,77,0,52,0,25,7];
        var newArr = [];
        // 刚开始 newArr.length 就是 0
        for(var i = 0; i < arr.length; i++){
            if(arr[i] >= 10){
                //  新数组索引号应该从0开始,依次递增
                newArr[newArr.length] = arr[i];
            }
        }
        console.log(newArr);
    </script>
  • 数组案例

1.  删除指定数组元素 

    <script>
        // 将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉后,形成一个不包含0的新数组
        var arr = [2,0,6,1,77,0,52,0,25,7];
        var newArr = [];
        for(var i = 0; i < arr.length; i++){
            if( arr[i] != 0){
                newArr[newArr.length] = arr[i];
            }
        }   
        console.log(newArr);
    </script>

2.  翻转数组

    <script>
        // 将数组['red','green','blue','pink']的内容反过来存放
        var arr = ['red','green','blue','pink'];
        var newArr=[]
        for(var i = arr.length-1; i >= 0; i--){
            newArr[newArr.length]=arr[i];
        }
        console.log(newArr);
    </script>

3. 数组排序(冒泡排序)

冒泡排序: 是一种算法,把一系列的数据按照一定的顺序进行排序显示(从小到大或者从大到小).

冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

 案例

    <script>
        // 将[5,4,3,2,1]中的元素按照从小到大的顺序排序,输出:1,2,3,4,5
        var arr = [3,5,2,4,1];
        for(var i = 0; i <= arr.length-1; i++){ //外层循环管趟数
            for(var j = 0; j <= arr.length-i-1; j++){ // 里层循环 管每一趟的交换次数
                // 内部交换2个变量的值 前一个和后面一个数组元素相比较
                if(arr[j] > arr[j+1]){
                //  if(arr[j] < arr[j+1]){ //从大到小
                    var temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        console.log(arr);
    </script>

一条时间轴上的商品供给:商品供给域事件全景、八大子域事件清单与事件契约规范的工程推演 本文以虚构连锁零售企业“青禾鲜市”为例,用事件风暴重新梳理商品供给域:先剖析同词异义、状态模糊、隐式依赖与被动兜底四类冲突,再以时间轴、八条子域泳道与关键事件铺出全景地图,确立一个事件只有一个户口;随后为总店商品、门店商品、价格、库存、质量、标签、变更通知与操作日志列出聚合、事件、命令与策略,并统一命名、信封结构、版本与幂等规范。程序体检把初稿14个问题清零,仿真显示按聚合版本号更新可售视图可将误判从两位数百分比降到0.019%。文末给出四轮工作坊节奏与新品引入、全国调价、批次召回走查剧本。 阅读详情

相关推荐

电力市场小白必看:手把手教你用Matlab实现市场出清电价计算(附完整代码)

本文为电力市场初学者提供了使用Matlab计算市场出清电价的完整指南。通过Yalmip和Matpower工具包,详细讲解了从环境配置到模型构建、求解及结果分析的整个过程,帮助读者快速掌握节点电价计算的核心技术。

weixin_30379531的博客 74

JavaScript基础语法核心要点与实战技巧

JavaScript作为现代Web开发的基石语言,其基础语法理解深度直接影响开发效率与代码质量。从变量作用域、数据类型到函数闭包,这些核心概念构成了JavaScript的执行原理。在工程实践中,变量声明方式(var/let/const)的选择直接影响代码的可维护性,而类型转换规则和深拷贝问题则是常见Bug来源。高阶特性如闭包和this绑定规则,在React/Vue等框架开发中尤为重要。通过掌握控制台调试技巧和错误处理策略,开发者能快速定位如`undefined is not a function`等典型问题

weixin_28700411的博客 277

Windows Server双机热备实战:用IIS+ARR+NLB搭建高可用Web服务(附避坑指南)

本文详细介绍了在Windows Server环境下,利用IIS、ARR(Application Request Routing)和NLB(Network Load Balancing)构建高可用Web服务的实战方案。通过双机热备架构,实现从网络层到应用层的全面冗余与智能流量分发,并提供了关键的配置步骤、常见避坑指南及性能调优建议,确保企业级Web服务的连续性与可靠性。

weixin_29210759的博客 388

JS基础语法 【数组】的讲解

数组是 js 中最常用的数据类型之一,属于对象类型中的内置对象。一个数组类型的变量可以保存一批数据,且数据可以是任意数据类型。这里就为大家讲解数组的用法及如何创建。 一. 创建数组 其中包括两种方式: 1.使用array 对象的方式 2.直接使用 “[]” 的方式创建 1.使用array 对象创建 首先实例化array对象的方式创建数组是通过 new 关键字实现的。如下代码讲解用法: 元素值类型为字符型 var area = new Array(‘china’,‘chinese’,‘USA’); 元素值

weixin_52915467的博客 574

避坑指南:群晖DSM 7.X挂载NTFS硬盘,为什么你的SATA口不行?从原理到实战一次讲清

本文深入解析群晖DSM 7.X系统挂载NTFS硬盘的底层原理与实战排查方法,揭示SATA接口权限配置的关键参数(如esataportcfg和internalportcfg),并提供安全修改端口配置的详细步骤。针对不同型号群晖NAS的配置差异,给出替代方案与常见故障排查技巧,帮助用户解决NTFS硬盘挂载问题。

weixin_26757925的博客 257

【AI编程】用AI开发STM32软件(1):环境配置+AI编写LED闪烁

现在AI编程这么火,不拿来开发嵌软也太可惜了。笔者最近刚好有个2学分的实践课,要自己做项目,这不,机会就来了。笔者特意记录下来其过程,以供大家学习和参考。使用:VSCode+Copilot+EIDE+STM32CubeMX,单片机用最经典的stm32f103c8t6+STLink。

qq_23220445的博客 4574

Js中数组的实用语法

arr.splice(起始位置(从0开始), 替换数量, 替换数据(没有的话相当于删除))arr.slice(起始位置(从0开始),结束位置(不包含));返回值小于0:current在previous之前。返回值大于0:current在previous之后。注:sort中的方法第一个参数是。

jl15988 695

YOLOv11 改进 - 注意力机制 | LS-YOLO MSFE 多尺度特征提取模块:并行分支结构增强多尺度感知,优化遥感与小目标检测

本文介绍了一种用于滑坡检测的模型LS-YOLO及其在YOLOv11中的结合应用。LS-YOLO首先构建多尺度滑坡数据集MSLD,为模型训练提供丰富数据。设计了基于高效通道注意力、平均池化和空间可分离卷积的多尺度特征提取模块MSFE,充分提取滑坡特征信息。在解耦头中采用膨胀卷积增加模型感受野。我们将MSFE模块集成进YOLOv11,替换部分原有模块。实验表明,改进后的YOLOv11在数据集中表现出色 。

魔改工程师的博客 871

JavaScript 数组方法详解:全面指南

JavaScript数组是Web开发中处理数据的核心工具,提供了多种内置方法以高效操作数组元素。本文基于ECMAScript 2023标准,详细介绍了数组方法的功能、语法和应用场景,包括最新方法如toSorted和toReversed。文章首先概述了数组的基本概念和操作方法,随后分类讲解了添加删除、转换、迭代、搜索等功能的数组方法,并提供了实际应用示例。此外,文章还强调了变异与非变异方法的区别,以及性能优化和浏览器兼容性的注意事项,旨在帮助开发者更好地理解和运用JavaScript数组方法。

zimin的专栏 1077

STM32F407上优化CAN总线通信(500kbps速率,多终端系统)需要从硬件设计、软件配置和实时性能三个方面进行综合优化

STM32F407上优化CAN总线通信(500kbps速率,多终端系统)需要从硬件设计、软件配置和实时性能三个方面进行综合优化

a_zxswer的博客 383

在windows中安装并启动ActiveMQ5.16.2

打开ActiveMQ官网 下载ActiveMQ 点击apache-activemq-5.16.2-bin.zip进行下载 下载发后解压到c盘根目录下 在powershell中输入 ./activemq start启动 ActiveMQ服务 htpp://127.0.0.1:8161访问ActiveMQ控制台 ...

934

【Javascript】JS语法总结-数组

JS语法总结-数组常用数组方法改变原数组返回新数组数组中搜索与字符串的转换计算 常用数组方法 arr.push(elem) 将一个或多个元素添加到数组的末尾,并返回数组新长度 arr.pop() 从数组取出最后一个元素 arr.shift() 从数组中取出第一个元素 arr.shift(elem) 将一个或者多个元素添加到数组的开头 const array = ['a','b','c'] array.push('d'); //4 当前数组['a

weixin_49202767的博客 1648

主题035:计算流体力学(CFD)

计算流体力学(Computational Fluid Dynamics, CFD)是利用数值方法求解流体流动、传热传质等问题的学科。CFD已成为化学反应工程中反应器设计和优化的重要工具。∂ρ∂t+∇⋅(ρu)=0 \frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{u}) = 0 ∂t∂ρ​+∇⋅(ρu)=0对于不可压缩流动:∇⋅u=0 \nabla \cdot \mathbf{u} = 0 ∇⋅u=0动量方程:∂(ρu)∂t+∇⋅(ρ

kkchenjj的博客 269

JS基础语法(二)——数组

JS数组的简单了解与使用

js_bbasic的博客 906

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【JS逆向】【7.JavaScript 基础语法】数组,增删改,遍历,去重等方法(大量源码案例详细讲解)

JavaScript 数组 Array 1. 概述/前言 2. 创建数组 a. 使用数组字面量方法 b. 使用Array构造函数 c. Array.of方法创建数组(es6新增) d. Array.from方法创建数组(es6新增) 3. 数组方法 添加元素 push unshift 删除元素 pop shift delete 替换 splice 排序 sort 反转数组 reverse 4. 改变数组本身返回新数组的方法 拼接 concat 截取 slice 5. 循环遍历相关的方法 for for/of

weixin_43612602的博客 1518

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JavaScript快速入门基础知识

JavaScript(简称JS)是一种轻量级、解释型、弱类型的脚本语言,主要用于实现网页的动态交互效果,是前端开发三大核心技术(HTML负责结构、CSS负责样式、JS负责行为)之一。JS不仅能运行在浏览器端实现前端交互,还能通过Node.js运行在服务器端,实现接口开发、文件操作、数据库连接等后端功能,真正做到一次编写,多平台运行。核心功能网页动态效果:轮播图、下拉菜单、页面滚动动画、弹窗提示等;表单验证:注册/登录时校验账号格式、密码强度、手机号合法性等;

2301_80150018的博客 754

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

JavaScript基础语法入门:变量、数据类型与流程控制

JavaScript作为Web开发的核心语言,其基础语法是构建复杂应用的基石。从变量声明到数据类型,再到流程控制结构,理解这些基础概念对于编写高效、可维护的代码至关重要。在实际开发中,ES6引入的let和const关键字解决了传统var声明的变量提升问题,而严格相等运算符(===)则避免了类型转换带来的意外结果。掌握这些基础语法不仅能提升代码质量,还能为学习前端框架打下坚实基础。本文通过实战示例,详细解析JavaScript基础语法的关键知识点,帮助开发者快速入门并避免常见错误。

weixin_30444105的博客 297

javaScript基础

sum是数字类型 / 可转换为数字类型的字符串 / false,则返回false。注意:js有三种书写形式(行内式,内嵌式,外部式)检测sum是否不是数字类型(返回布尔值),sum不是数字类型返回true,

955姜太根的博客 328

JavaScript基础语法

javascript中的一些基础语法

m0_67683346的博客 7159

JavaScript基础语法入门

介绍JavaScript的基础语法, 包含变量, 运算符, 数据类型, 数组, 函数,对象等内容, 主要是基于Java/C基础进行的扫盲学习.

trong_ 的烂笔头 3975

JavaScript基础语法详解

函数是一段可以重复使用的代码块。在 JavaScript 中,可以使用functionJavaScript 是一种功能强大的语言,它通过基础语法提供了丰富的功能,使得网页能够实现动态交互和复杂的逻辑处理。掌握这些基础语法是学习 JavaScript 的第一步,也是成为一名优秀前端开发者的基础。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章JavaScript语法基础(超详细,看这一篇就够了)-优快云博客清华大学出版社-图书详情-《JavaScript 基础语法详解》

ning的博客 2366

JavaScript 语法基础

例如:下面的变量 a 就是一个 int 类型,在后面的编译阶段中,不管怎么修改 a 的值都是可以的,但当前 a 的类型始终是 int 类型,这无法改变。在 JS 中,我们可以将数组理解为一个对象,那么我们就可以利用对象对应的方法,这就和 Java 中的 ArrayList 差不多,push 就相当于 ArrayList 的 add 方法。④ JS 对象没有 “继承”,继承本质就是 “让两个对象建立关联”,或者说,是让一个对象能够重用另一个对象的属性 / 方法,JS 中使用 “原型” 机制实现类似的效果。..

lfm1010123的博客 1321

JavaScript基础(详细总结)

JavaScript基础入门详细总结

程序员阿龙的博客 3万+

学习笔记 JavaScript基础语法(全)

JavaScript基础语法学习笔记,视频教程链接放在末尾

weixin_63676550的博客 1万+

前端 --- JavaScript 语法基础

1. 初始JavaScript 1.1 什么是 JavaScript JavaScript (简称 JS) 是世界上最流行的编程语言之一 是一个脚本语言, 通过解释器运行 主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行 1.2 发展历史 JavaScript 之父 布兰登 * 艾奇 (Brendan Eich) 1.3 JavaScript 和 HTML 和 CSS 之间的关系 HTML: 网页的结构(骨) CSS: 网页的表现(皮) JavaScript: 网页的行为

wwzzzzzzzzzzzzz的博客 3341

【前端】JavaScript(基础语法)

如果一个变量没有被初始化过,结果就是underlined,是underlined类型。var a;underlined和字符串进行相加,结果进行字符串拼接。underlined和数字进行相加,结果为NaN。

2301_79719531的博客 1897
上一篇: JavaScript基础语法-断点调试
下一篇: JavaScript基础语法8-函数
BUG_devil
博客等级 码龄5年 45粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值