JS--数组类型 Array 1

news2025/2/27 20:39:23

    数组是一种特殊的对象,数组是按照顺序排列的一组值(元素),每个位置都有一个编号,编号从0开始,编号也叫索引或者下标。数组可以存储任意数据类型。
 

一 、 创建数组方法

1.用[  ]

   <script>
        // 数字的长度 = 4  array[0] = a
        var arry = ["a", "b", 110, 120];
        console.log(array);
    </script>

2.用函数去创建数组  Array

<script>
        var arr1 = new Array(3); //只有一个值,值是创建数组的长度
        console.log(arr1);
        //值时一个非数组或者大于1个值,则是作为数组元素创建数组
        var arr2 = new Array(3, 4);
        console.log(arr2); 
    </script>

输出的结果

 二、读取数组的值

        1.使用方法:数组名 [下标 ]  下标从0开始编号。

    <script>
        var arr = ["a", "b", 10, 12];
        console.log(arr[0]); //读取数组的第一位值
    </script>

   2.数组length属性 

    <script>
        var arr = ["a", "b", 10, 12];
        console.log(arr.length); //读取数组的长度
    </script>

三、修改数组的值

1.通过[下标]给对应位置元素重新赋值

<script>
var arr = ["a", "b", 10, 12];
arr[0] = "李";         //更改数组第一位的值
console.log(arr);   //读取数组的值
</script>

输出 ---> 

2.通过[下标]可以添加值,如果对应位置有元素则覆盖,没有对应元素,则是添加

<script>
var arr = ["a", "b", 10, 12];
arr[0] = "李"; //更改数组第一位的值
// 可以给任意的值赋值,跳过的位置则自动填充空位。一般按顺序添加
arr[5] = 35;
arr[6] = "ha";
console.log(arr); //读取数组的值
</script>

 输出 ---> 

3.delete 删除数组元素,删除后对应位置会变空  一般不用该方法

<script>
var arr = ["a", "b", 10, 12];
arr[0] = "李"; //更改数组第一位的值
// 可以给任意的值赋值,跳过的位置则自动填充空位。一般按顺序添加
arr[4] = 35;
arr[5] = "ha";
delete arr[3]; //删除数组中的第4位数,所以显示空值
console.log(arr); //读取数组的值
</script>

输出为 ---> ​

 四、数组其他

      1. [ ] in 数组 判断数组下标是否在数组里面 ,数组中有则显示true ,没有则显示false 

   <script>
        var arr = ["a", "b", 10, 12];
        arr[0] = "李"; //更改数组第一位的值
        // 可以给任意的值赋值,跳过的位置则自动填充空位。一般按顺序添加
        arr[4] = 35;
        arr[5] = "ha";
        delete arr[3]; //删除数组中的第4位数,所以显示空值
        console.log(arr); //读取数组的值
        console.log(2 in arr);  //true
    </script>

2. 遍历数组 
        1)for .... in 可以遍历数组,由于数组是有序号的特殊对象,用for...in 消耗较大,一般不用

        

    <script>
        var arr = ["a", "b", 10, 12];
        for (var x in arr) {
            // x是数组的下标
            console.log(arr[x]);
        }
    </script>

   2)for()循环遍历数组 常用遍历数组的方法

    <script>
        var arr = ["a", "b", 10, 12];
        //i 为数组的下标值  arr.length为4位 因为用的小于号 所以不需要 -1
        for (var i = 0 ;i < arr.length;i++) {
            console.log(arr[i]);
        }
    </script>

3)判断元素是否在数组里面  方法比较原始 (不推荐)

   <script>
        var has = false;
        var arr = ["a", "b", 10, 12];
        //i 为数组的下标值  arr.length为4位 因为用的小于号 所以不需要 -1
        for (var i = 0; i < arr.length; i++) {
            if ("b2" === arr[i]) {
                // 如果b2元素在数组中,则为true
                has = true;
                break;
            }
        }
        if (has) {
            console.log("该元素在数组中存在");
        }
        else {
            console.log("该元素在数组中不存在");
        }
    </script>

4)Array.isArray( )判断是否是数据类型,是数组返回true,不是数组返回false

Array.isArray( 判断对象  )

   <script>
        var arr = ["a", "b", 10, 12];
        console.log(Array.isArray(arr));
   </script>

5).toString( ) 数组转为字符串

   <script>
        var has = false;
        var arr = ["a", "b", 10, 12];
        console.log(arr.toString); //把数组转为字符串
</script>

6)push( )在数组末尾追加一个元素,可以追加多个

      基本语法:  数组名.push( )

   <script>
        var arr = ["a", "b", 10, 12];
        arr.push("我是新增加的", "可以多个添加", "用逗号隔开");
        console.log(arr);
   </script>

7)pop()删除末尾最后一个元素,并返回删除的元素

  基本语法:  数组名.pop( )

    <script>
        var arr = ["a", "b", 10, 12];
        arr.push("我是新增加的", "可以多个添加", "用逗号隔开");
        console.log(arr);
        // 把删除的元素赋值给r
        var r = arr.pop();
        console.log(r);
     </script>

8)unshift 在数组的开头插入一个或者多个元素

基本语法:数组名.unshift(插入元素)

   <script>
        var arr = ["a", "b", 10, 12];
        arr.unshift("我是新增加的", "可以多个添加", "用逗号隔开");
        console.log(arr);
   </script>

9)shift( )删除头部的元素,并返回该元素

基本语法: var y = 数组名 .shift( )

    <script>
        var arr = ["a", "b", 10, 12];
        arr.unshift("我是新增加的", "可以多个添加", "用逗号隔开");
        console.log(arr);
        // 把删除的元素赋值给r
        var r = arr.shift();
        console.log(r);
    </script>

 

 

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

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

相关文章

【机器学习项目实战10例】(二):利用LightGBM实现天气变化的时间序列预测

🌠 『精品学习专栏导航帖』 🐳最适合入门的100个深度学习实战项目🐳🐙【PyTorch深度学习项目实战100例目录】项目详解 + 数据集 + 完整源码🐙🐶【机器学习入门项目10例目录】项目详解 + 数据集 + 完整源码🐶🦜【机器学习项目实战10例目录】项目详解 + 数据集 +

MyBatis-Plus快速开发

1. 代码生成器原理分析 观察我们之前写的代码&#xff0c;会发现其中也会有很多重复内容&#xff0c;比如&#xff1a; 那我们就想&#xff0c;如果我想做一个Order模块的开发&#xff0c;是不是只需要将内容全部更换成Order即可&#xff0c;如&#xff1a; 所以我们会发现&am…

【Ctool】json 转 mysql

▒ 目录 ▒&#x1f6eb; 导读需求开发环境1️⃣ 编写js实现json转mysql效果图代码及注释2️⃣ 集成到ctool中src/views/tool/json.vuesrc/views/tool/library/json/index.js效果图&#x1f4d6; 参考资料&#x1f6eb; 导读 需求 获取某json格式的数据后&#xff0c;希望将它…

【csdn】gitcode初体验(开发云、Pages等)(持续更新)

▒ 目录 ▒&#x1f6eb; 导读需求开发环境1️⃣ 开发云上免密提交代码【https方式】gitcode页面直接进入开发云2️⃣ 【git方式】通过开发云主页创建项目实现免密更新git1. 通过gitcode页面获取git地址2. 创建并配置SSH公钥&#xff08;所有项目&#xff0c;公用一个公钥&…

【学生网页设计作品 】关于HTML公益主题网页设计——谨防电信诈骗网

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

yocto meta-st-stm32mp conf文件夹分析

meta-st-stm32mp conf文件夹分析 machine conf分析 本节主要分析conf/machine下面的文件 stm32mp1.conf 包含inc文件 include conf/machine/include/st-machine-common-stm32mp.inc include conf/machine/include/st-machine-providers-stm32mp.incst-machine-providers-…

骨传导耳机的危害有哪些,骨传导耳机是不是智商税?

关于骨传导耳机的资讯&#xff0c;在网上众说纷纭&#xff0c;那么骨传导耳机在佩戴使用时到底会不会对我们造成伤害&#xff0c;骨传导耳机到底是不是智商税呢&#xff1f;下面就给大家讲解一下骨传导耳机传播声音的方式吧。 骨传导耳机传播声音的方式是通过耳旁的骨骼传声&am…

地级市高新技术企业统计情况(2000-2019)

1、数据来源&#xff1a;国泰君安 2、时间跨度&#xff1a;2000-2019 3、区域范围&#xff1a;全国 4、指标说明&#xff1a; ① 高新技术企业定义&#xff1a;高新技术企业是指通过科学技术或者科学发明在新领域中的发展&#xff0c;或者在原有领域中革新似的运作。在界定…

C语言实现扫雷游戏(分解代码,超级详细,无压力)

目录 一、扫雷游戏 1.1玩法 1.2游戏的基本功能 二、游戏的实现 2.1创建数组 2.1.1为什么设置两组行和列&#xff1f; 2.2初始化棋盘 ‘ 2.2.1函数的调用 2.2.2函数体的实现 2.3打印棋盘 2.3.1函数的调用 2.3.2函数体的实现 2.3.3运行结果 2.4设置雷的位置 2.4.1函数…

HTML+CSS+JS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

华为云桌面Workspace,实惠更实用!

今年双十一的活动&#xff0c;在各大平台都掀起一股“剁手热潮”。而对于企业主来说&#xff0c;双十一也有各种活动&#xff0c;比如华为云推出了“实惠更实用&#xff0c;‘11’都如愿”活动&#xff0c;也令到企业采购部门蠢蠢欲动。这究竟是怎么回事呢&#xff1f; 据了解&…

JAVA的学习心路历程之JDK基础入门(下)

这篇是本人JAVA基础学习的下篇&#xff0c;上篇链接在&#xff1a; JAVA的学习心路历程之JDK基础入门&#xff08;上&#xff09;_Thomas_Lbw的博客-CSDN博客_jdk学习 目录 一、字符流 1.1 字符流基类 二、文件操作 2.1 文件操作 三、Swing 四、多线程编程 4.1 多线程…

算法刷题打卡第27天:省份数量---深度优先搜索

省份数量 难度&#xff1a;中等 有 n 个城市&#xff0c;其中一些彼此相连&#xff0c;另一些没有相连。如果城市 a 与城市 b 直接相连&#xff0c;且城市 b 与城市 c 直接相连&#xff0c;那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市&#xff0c;组内不…

干测试这些年,去过阿里也去过小公司,给年轻测试员们一个忠告....

前言 你眼中的软件测试岗位是怎样的&#xff1f;大部分人可能会给出这样的回答&#xff1a;“测试&#xff1f;简单啊&#xff0c;没什么技术含量&#xff0c;无非就是看需求、看业务手册、看设计文档、然后点点功能是否实现&#xff0c;麻烦点的就是测试下部署安装是否出现兼…

二十三、CANdelaStudio深入-SnapshotData编辑

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的SnapshotData编辑,欢迎各位朋友订阅、评…

C#语言实例源码系列-实现滚动字幕

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…

考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序

考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序 参考文献&#xff1a;考虑储能电池参与一次调频技术经济模型的容量配置方法 摘要 &#xff1a;规模间歇电源并网引起的电网频率问题&#xff0c;导致对引入储能辅助调频的研究越发迫切。提出一种考虑储能电池参…

网安学习Day14(web漏洞-SQL注入类型及提交注入)

SQL注入类型及提交注入简要明确参数类型简要明确请求方法参数字符型注入测试>sqlilabs less 5 6sqlilabs less 5在这里插入图片描述sqlilabs less 6POST数据提交注入测试>sqlilabs less 11参数JSON数据注入测试>本地环境代码演示COOKIE数据提交注入测试>sqlilabs l…

解决Windows 10 家庭中文版没有组策略编辑器的问题

解决Windows 10 家庭中文版无法打开组策略编辑器的问题 &#xff08;以下为解决效果&#xff09; 今天在工作时发现电脑无法打开组策略编辑器&#xff0c;即WinR输入gpedit.msc不能正常调出组策略编辑器&#xff1b; 查看了电脑为Windows 10 家庭中文版&#xff0c;查资料后发…

《恋上数据结构与算法》第1季:双向链表实现(超详细笔记,图文并茂)

数据结构与算法的学习笔记目录&#xff1a;《恋上数据结构与算法》的学习笔记 目录索引双向链表一、双向链表补充【List接口 和 AbstractList抽象类】二、设计双向链表三、双向链表的实现1. 查询节点2. 插入节点3. 删除节点4. 清空节点四、双向链表 vs 动态数组一、双向链表 与…