JavaScript的数组(一维数组、二维数组、数组常用的方法调用)

news2024/10/7 16:23:09

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


玉阶生白露,夜久侵罗袜。却下水晶帘,玲珑望秋月。


文章目录

  • 一、数组(一维数组)
    • 1. 定义语法
      • 1.1 语法1
      • 1.2 语法2
      • 1.3 语法3
    • 2. 注意事项
    • 3. 常用方法
    • 4. 示例代码
    • 5. 控制台结果
  • 二、二维数组
    • 1. 定义语法
      • 1.1 语法1
      • 1.2 语法2
    • 2. 示例代码
    • 3. 浏览器页面输出
  • 三、示例代码下载


JS系列篇:
JS(JavaScript)入门学习指南
JS(JavaScript)学习专栏


一、数组(一维数组)

1. 定义语法

定义的语法有三种方式如下

1.1 语法1

先声明后赋值

        var arr1 = new Array();
        arr1[0] = 0;
        arr1[1] = 1;
        arr1[2] = 2;

1.2 语法2

声明时直接赋值,如赋值1,2,3

        var arr2 = new Array(1,2,3);

1.3 语法3

声明时直接赋值,如赋值1,2,3

        var arr3 = [4,5,6];

2. 注意事项

数组长度会自动扩展
数组中元素的默认值为undefined
使用length属性来获取数组的长度

3. 常用方法

数组可调用的函数方法,常用的有以下几种

方法描述
sort()排序,默认按字符编码的顺序排列,非string类型会自动转换为string,可自定义比较规则
reverse()反转,将数组元素倒序排列
join(separator)将数组中元素使用指定的分隔符连接成字符串,默认通过都好进行连接
indexOf()返回指定元素在数组中首次出现的位置
slice(begin,end)截取数组中索引从begin到end的元素,左闭右开,如果省略第二个参数,则表示截取到末尾
toString()将数组转换为字符串

4. 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组</title>

    <script>

        //语法1
        var arr1 = new Array();
        arr1[0] = 0;
        arr1[1] = 1;
        arr1[2] = 2;
        //语法2
        var arr2 = new Array(1,2,3);
        //语法3
        var arr3 = [4,5,6];

        console.log(arr1[1]);
        console.log(arr2[2]);
        //索引为3的值并没有,故返回undefined
        console.log(arr3[3]);
        console.log(arr3.length);

        //举例
        var list = [];
        for(var i=0;i<10;i++){
            if(i%2==0){
                list[i/2]=i;
            }
        }
        console.log("小于10且整除2的数的集合:",list);

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

        var strList = ["libai","dufu","baijuyi","lishangyin","dumu","menghaoran"];
        console.log(strList);
        
        strList.sort();
        console.log("将数组排序:",strList);
        
        strList.reverse();
        console.log("将数组反转:",strList);

        newst = strList.join();
        console.log("将数组以逗号连接:",newst);

        newstr = strList.join("=");
        console.log("将数组以=连接:",newstr);

        var index = strList.indexOf("libai");
        console.log("值为libai的索引:", index);

        var newList1 = strList.slice(1,3);
        console.log("索引为1到3的值:",newList1);
        var newList2 = strList.slice(1);
        console.log("索引为1到最后一个的值:",newList2);
        
    </script>

</head>
<body>
    
</body>
</html>

5. 控制台结果

浏览器控制台打印
在这里插入图片描述

二、二维数组

二维数组是一维数组的变形,相当于每个元素都是一个一维数组

1. 定义语法

1.1 语法1

先声明对象在填充值

        var arr1 = new Array();
        arr1[0] = new Array(1,2,3);
        arr1[1] = [4,5,6];
        arr1[2] = [7,8,9];

1.2 语法2

直接填充值

        var arr2 = [
            [1,2,3],
            [4,5,6],
            [7,8,9]
        ];

2. 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>二维数组</title>

    <script>

        //二维数组就是特殊的一维数组,二维数组中的每个元素是一个一维数组

        //语法1
        var arr1 = new Array();
        arr1[0] = new Array(1,2,3);
        arr1[1] = [4,5,6];
        arr1[2] = [7,8,9];
        console.log(arr1[1][2]);

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

        //打印二维数组中的元素,由于控制台打印无法满足换行,故使用页面打印
        for(var i=0;i<arr2.length;i++){
            for(var j=0;j<arr2[i].length;j++){
                //页面打印数组
                document.write(arr2[i][j]+"&nbsp;&nbsp;");
            }
            //换行
            document.write("<br>");
        }

    </script>

</head>
<body>
    
</body>
</html>

3. 浏览器页面输出

浏览器页面打印结果
在这里插入图片描述

三、示例代码下载

示例代码已上传至CSDN资源库
下载地址:JavaScript 选择结构和循环结构 示例代码


感谢阅读,祝君暴富!

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

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

相关文章

Java MyBatis实战:QueryWrapper中的and和or拼接技巧

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、引言 在Java Web开发中&#xff0c;MyBatis是一个非常流行的持久层框架。它通过XML或注解的方式将Java对象与数据库表进行映射&#xff0c;从而实现数据的增删改查操作。在使用MyBatis的过程中&#xff0c;经常…

景联文科技:打造亿级高质量教育题库,赋能教育大语言模型新未来

随着人工智能技术的持续进步&#xff0c;从广泛的通用大语言模型到针对各行业的垂直大语言模型&#xff0c;已成为人工智能大语言模型技术深化演进的必然趋势。 教育大语言模型是适用于教育场景、具有庞大规模参数、融合了广泛的通用知识和专业知识训练形成的人工智能模型。能为…

【牛客面试必刷TOP101】Day31.BM65 最长公共子序列(二)和BM66 最长公共子串

文章目录 前言一、BM65 最长公共子序列(二)题目描述题目解析二、BM66 最长公共子串题目描述题目解析总结 前言 一、BM65 最长公共子序列(二) 题目描述 描述&#xff1a; 给定两个字符串str1和str2&#xff0c;输出两个字符串的最长公共子序列。如果最长公共子序列为空&#xf…

外星人Aurora R15 intel版 原厂Windows11oem系统

装后恢复到您开箱的体验界面&#xff0c;包括所有原机所有驱动AWCC、Mydell、office、mcafee等所有预装软件。 最适合您电脑的系统&#xff0c;经厂家手调试最佳状态&#xff0c;性能与功耗直接拉满&#xff0c;体验最原汁原味的系统。 原厂系统下载网址&#xff1a;http://w…

Django之文件上传(二)

一、自定义上传文件重命名 重名名好处: 重命名文件也可以避免文件名冲突的问题可以根据自己情况,针对性增加描述信息1.1、生成文件名方法 import os from uuid import uuid4 # 生成文件的名称 def generate_filename(filename):# filename: 上传文件的名称ext = os.path.spl…

通配符(泛域名)SSL证书怎么申请?在哪能能申请到?

通配符SSL证书的申请过程可以概括为以下几个关键步骤&#xff0c;以确保条理清晰、通俗易懂且步骤尽量精简&#xff1a; 选择CA机构&#xff1a; 选择一个受信任的证书颁发机构&#xff08;Certificate Authority&#xff0c;简称CA&#xff09;&#xff0c;如JoySSL、DigiCe…

跟着AI学AI_09 PyTorch 简介

PyTorch 简介 PyTorch 是一个开源的深度学习框架&#xff0c;由 Facebook 的人工智能研究团队&#xff08;FAIR&#xff09;开发。它提供了灵活且高效的张量计算功能&#xff0c;并支持动态计算图。PyTorch 的易用性和灵活性使其成为深度学习研究和生产应用中广泛使用的工具。…

shell条件测试和if语句

“C:\Users\Jessica\Desktop\6.12.assets\image-20240612094159578.png”# shell条件测试和if语句 一、条件测试 1、$? 返回码 判断命令或者脚本是否执行成功&#xff08;最近的一条&#xff09; 0 true 为真就是成功 成立 非0 false 失败或者异常 2、test命令 可以进行…

python实现高斯(Gauss)迭代自动计算

实现高斯&#xff08;Gauss&#xff09;迭代自动计算 输入系数矩阵mx、值矩阵mr、迭代次数n&#xff0c;即可得到答案。本人在原博主的代码基础上优化了数据输出形式&#xff0c;原文链接&#xff1a;python实现高斯(Gauss)迭代法_python中gausspp-CSDN博客 运算结果如下图&am…

小程序必看:https证书强制使用攻略

为了提升网络安全性和用户数据保护&#xff0c;自2017年1月1日起&#xff0c;微信小程序要求所有的网络请求必须通过HTTPS协议进行。这意味着小程序在与服务器进行数据交互时&#xff0c;必须使用HTTPS加密连接&#xff0c;以确保数据传输的安全性。这样做可以防止数据在传输过…

基于java的英文翻译字典

基于java的英文翻译字典&#xff0c;附有源代码&#xff0c;源数据库初始化文件 源码地址 dict_demo: 提取一段英文对话中的英文词汇&#xff0c;输出为英文单词字典形式 解析json字条 private void readFile(String pathname) {long start System.currentTimeMillis(); //…

金石传拓非遗技艺端午专场活动之精彩瞬间

6月10日端午节下午&#xff0c;由致公党润州区基层委二支部举办的“凝心铸魂强根基&#xff0c;端午追远贺盛世”金石传拓体验活动在镇江万达广场隆重举行。近30名党员及其家属参加了本次活动&#xff0c;活动由润州区二支部主委吴娉主持。 端午节&#xff0c;又称端阳节&#…

181.二叉树:验证二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

【机器学习】GANs网络在图像和视频技术中的应用前景

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 1. &#x1f525;引言 背景介绍 研究意义 2. &#x1f388;GANs的基本概念和工作原理 生成对抗网络简介 工作原理 3. &#x1f916;GANs在图像生成中的应用 图像超分辨率 工作原理 图像去噪 工作原理 图…

【附带源码】机械臂MoveIt2极简教程(五)、第二个demo - rviz可视化

系列文章目录 【附带源码】机械臂MoveIt2极简教程(一)、moveit2安装 【附带源码】机械臂MoveIt2极简教程(二)、move_group交互 【附带源码】机械臂MoveIt2极简教程(三)、URDF/SRDF介绍 【附带源码】机械臂MoveIt2极简教程(四)、第一个入门demo 【附带源码】机械臂Move…

森林(fsc)认证的主要目的是什么?

森林认证&#xff08;Forest Certification&#xff09;的目的主要是为了确保森林的可持续经营&#xff0c;同时保护生态环境、生物多样性和社区权益。以下是森林认证的主要目的&#xff1a; 促进可持续森林管理&#xff1a; 森林认证鼓励采用可持续的森林管理方法&#xff0c…

(CVPR,2024)Adversarial Prompt Tuning:只需一个提示词就足以提升预训练视觉-语言模型的对抗性鲁棒性

文章目录 相关资料摘要引言对抗性鲁棒性的文本提示CLIP回顾 方法提示参数化提示优化 实验 相关资料 论文&#xff1a;[2403.01849] One Prompt Word is Enough to Boost Adversarial Robustness for Pre-trained Vision-Language Models (arxiv.org) 代码&#xff1a;TreeLLi…

私生子女是否拥有平等的继承权

私生子女&#xff0c;是否拥有平等的继承权&#xff1f;在当今社会&#xff0c;随着人们思想观念的不断开放和变化&#xff0c;家庭结构也日益多样化。其中&#xff0c;私生子女的存在成为了一个不可回避的话题。那么&#xff0c;私生子女是否应该享有与婚生子女同等的继承权呢…

解读surging 的内存过高的原因

前言 对于.NET开发人员来讲&#xff0c;一个程序占用内存过高&#xff0c;是极其糟糕&#xff0c;是一款不合格的程序软件&#xff0c;.NET开发人员也不会去使用服务器垃圾收集器(ServerGarbageCollection),而是选用工作站垃圾收集器&#xff0c;而是对于一款低内存的程序更能给…

【丝滑的LangChain】我用python问gpt认不认识小范大人,它告诉我认识个der~

前言 嗨&#xff0c;大家好&#xff01;我是海鸽。 《庆余年2》刚刚完结&#xff0c;热度不减&#xff0c;我忍不住好奇&#xff1a;我们的AI伙伴GPT&#xff0c;是否也对剧中那位机智过人的小范大人有所耳闻&#xff1f; 最近我们尝试了LangChain的调用&#xff0c;体验了一…