【3.6JavaScript】JavaScript数组对象

news/2025/2/24 16:45:51

文章目录

    • 1.数组创建
    • 2.获取数组长度
    • 3.截取数组某部分
    • 4.为数组添加元素
      • 4.1 在数组开头添加元素:unshift()
      • 4.2 在数组结尾添加元素: push()
    • 5.删除元素
      • 5.1 删除数组中的第一个元素: shift()
      • 5.2 删除数组中最后一个元素:pop()
    • 6.数组大小比较:sort()
    • 7.数组颠倒顺序:reverse()
    • 8.将数组元素连接成字符串:join()
    • 9.数组与字符串的转换操作

1.数组创建

javascript">var 数组名 = new Array(元素1, 元素2, ……,元素n);
var 数组名 = [元素1, 元素2, ……, 元素n];

举例:

javascript">var arr = [];
var arr = ["HTML","CSS","JavaScript"];

数组的下标是从 0 开始的,而不是从 1 开始的

2.获取数组长度

javascript">数组名.length;

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 创建数组
        var arr = [];
        arr[0] = "HTML";
        arr[1] = "CSS";
        arr[2] = "JavaScript";

        // 输出数组长度
        document.write(arr.length + "<br>");

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

image-20250222194712711

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 创建数组
        var arr = [123, "javascript", true, 3.14, null, undefined, {name: "tom", age: 20}, [1, 2, 3]];
        // 输出数组
        for(var i = 0; i < arr.length; i++){
            document.write(arr[i] + "<br>");
        }

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

image-20250222195019307

不是说数组时存储一组“相同数据类型”的数据结构吗?

在 JavaScript 中,其实一个数组是可以储存 “不同数据类型” 的数据的,只不过我们极少这样做。一般情况下都是用数组来存储 “相同数据类型” 的数据。

3.截取数组某部分

javascript">数组名.slice(start, end);

截取范围: [ start , end )。其中 end 可以省略。当 end 省略时,获取范围为: start 到结尾

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 创建数组
        var arr = new Array(1, 2, 3, 4, 5);
        document.write(arr.slice(1, 3)); // 2,3

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

image-20250222195602859

4.为数组添加元素

4.1 在数组开头添加元素:unshift()

javascript">数组名.unshift(新元素1, 新元素2, ……, 新元素n);

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 创建数组
        var arr = new Array(1, 2, 3, 4, 5);
        arr.unshift(6, 7, 8);
        document.write(arr + "<br>");

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

image-20250222195951037

4.2 在数组结尾添加元素: push()

javascript">数组名.push(新元素1, 新元素2, ……, 新元素n);

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 创建数组
        var arr = new Array(1, 2, 3, 4, 5);
        arr.push(6, 7, 8);
        document.write(arr + "<br>");

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

image-20250222200117369

5.删除元素

5.1 删除数组中的第一个元素: shift()

javascript">数组名.shift();

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 创建数组
        var arr = new Array(1, 2, 3, 4, 5);
        arr.shift(); // 删除数组第一个元素
        document.write(arr + "<br>");

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

image-20250222200553351

5.2 删除数组中最后一个元素:pop()

javascript">数组名.pop();

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 创建数组
        var arr = new Array(1, 2, 3, 4, 5);
        arr.pop(); // 删除数组第一个元素
        document.write(arr + "<br>");

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

image-20250222200720564

总结: unshift()、push()、shift()、pop() 这四个元素都会改变数组的结构,相当于生成了一个新的数组,因此数组的长度(length 属性)也会改变,我们需要记住这一点

6.数组大小比较:sort()

在 JavaScript 中,我们可以使用 sort() 方法来对数组中所有元素进行大小比较,然后按照从大到小或者从小到大的顺序进行排序

javascript">数组名.sort(函数名);

“函数名” 是定义数组元素排序的函数的名字

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        // 定义一个升序函数
        function up(a, b) {
            return a - b;
        }
        // 定义一个降序函数
        function down(a, b) {
            return b - a;
        }

        var arr = new Array(3, 9, 5, 7, 1, 8, 2, 6, 4);
        arr.sort(up);
        document.write(arr + "<br>");
        arr.sort(down);
        document.write(arr + "<br>");

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

image-20250222201337494

此处不用深究,之后在 JavaScript 进阶会学到

7.数组颠倒顺序:reverse()

javascript">数组名.reverse();

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        var arr = new Array(3, 9, 5, 7, 1, 8, 2, 6, 4);
        arr.reverse();
        document.write(arr + "<br>");

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

image-20250222201519556

8.将数组元素连接成字符串:join()

javascript">数组名.join("连接符");

连接符是可选参数,用于指定连接元素之间的符号。默认情况下,则采用英文逗号( , )作为连接符来连接。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        var arr = new Array(3, 9, 5, 7, 1, 8, 2, 6, 4);
        document.write(arr.join()+"<br>");
        document.write(arr.join("-")+"<br>");
        document.write(arr.join(" ")+"<br>");
        document.write(arr.join("")+"<br>");

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

image-20250222202146575

注意:join(" “) 和 join(”") 是不一样的!前者两个引号之间是有空格的,所以表示用空格作为连接符来连接,而后者两个引号之间是没有空格的。

9.数组与字符串的转换操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>javascript">
        var str = "我爱你中国";
        var str2 = str.split("").join("><");
        var arr = str2.split("");
        arr.unshift("<");
        arr.push(">");
        document.write(arr.join(""));

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

image-20250222202758023

数组进行操作一般是直接对原数组进行改变,而字符串进行操作一般不改变原数组

此外,住哟在 JavaScript 中,函数的返回值可以为数组类型


http://www.niftyadmin.cn/n/5864603.html

相关文章

【网络】CIDR (Classless Inter-Domain Routing) / 无类域间路由?

CIDR (Classless Inter-Domain Routing) / 无类域间路由&#xff1a;解释 CIDR&#xff08;无类域间路由&#xff09;是一种更灵活的IP地址分配方法&#xff0c;它打破了传统的A类、B类、C类划分的限制&#xff0c;允许更精确地控制IP地址的分配和路由。CIDR 的目标是提高IP地…

jenkins docker容器中安装python3.9环境

在运维过程中&#xff0c;不过避免的需要使用到python&#xff0c;在jenkins 的docker容器中&#xff0c;是没有python环境的&#xff0c;需要我们自己手动安装一下。 查看是否有工具apt-get 直接输入apt-get 然后回车&#xff0c;出现以下内容&#xff0c;表示支持apt-get命令…

Kafka中commitAsync的使用与实例解析

在使用Apache Kafka进行消息处理时&#xff0c;正确管理偏移量&#xff08;offset&#xff09;是确保数据一致性和可靠性的重要环节。Kafka提供了多种方式来提交偏移量&#xff0c;其中commitAsync()方法是一种高效且灵活的选择。本文将通过一个完整的实例&#xff0c;详细介绍…

Lua | 每日一练 (3)

&#x1f4a2;欢迎来到张胤尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 Lua | 每日一练 (3)题目参考答案减少查找次数预分配表…

【设计模式】【创建型模式】单例模式(Singleton)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f44d; 欢迎点赞、收藏、关注&#xff0c;跟上我的更新节奏 &#x1f3b5; 当你的天空突…

centos7中Open-Webui的部署

前期中部署了ollama 及deepseek-r1,为了有web界面访问&#xff0c;需要部署open-webui 系统要求是python3.11以上版本&#xff0c; 一、先升级openssl 1.安装依赖 yum install -y gcc gcc-c autoconf automake zlib zlib-devel pcre-devel 2.下载源码包并解压 wget https:/…

基于springboot+vue的考研互助平台

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

基于跨学科任务图谱和大模型微调的智能体设计

技术方案:基于跨学科任务图谱和大模型微调的智能体设计 1. 跨学科任务图谱生成 1.1 降噪与补齐 降噪 跨学科任务图谱的生成首先要对原始数据进行降噪处理,以消除不必要的干扰信息。假设原始数据为 ( D ),降噪后的数据为 ( D’ ),降噪过程可以通过以下公式表示: [ D’…