JavaScript 数组添加元素

在 JavaScript 中,如果想要给数组添加某个元素,我们可以使用以下 2 种方法。

  • unshift()
  • push()

JavaScript 在数组开头添加元素

在 JavaScript 中,我们可以使用 unshift() 方法在数组的 “开头” 添加一个或多个元素。

语法:

arr.unshift(value1, value2, ..., valueN)

说明:

value1、value2、...、valueN 可以是任意类型的值。

注意:

  • unshift() 方法会改变原数组。
  • unshift() 方法会返回一个值,不过它的返回值并非添加后的数组,而是添加后的数组长度。

示例 1:unshift() 添加一个元素

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        const result = arr.unshift("blue");

        console.log(arr);
        console.log(result);
    </script>
</body>
</html>

运行结果如下。

["blue", "red", "green"]
3

分析:

unshift() 方法会改变原数组,然后返回的是添加后的数组长度。如果你不需要用到添加后的数组长度,也可以不使用变量来接收它的返回值,比如:

const arr = ["red", "green"];
arr.unshift("blue");
console.log(arr);

示例 2:unshift() 添加多个元素

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        arr.unshift("blue", "orange");
        console.log(arr);
    </script>
</body>
</html>

运行结果如下。

["blue", "orange", "red", "green"]

分析:

unshift() 方法可以一次性在数组开头添加多个元素。

示例 3:unshift() 添加的元素是数组

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        arr.unshift(["blue", "orange"]);
        console.log(arr);
    </script>
</body>
</html>

运行结果如下。

[["blue", "orange"], "red", "green"]

分析:

当 unshift() 添加的值是一个数组时,此时该数组会作为一个元素添加进去,而不是合并两个数组。

示例 4:unshift() 添加的元素是对象

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        const obj = {name: "Jack", age: 20};
        arr.unshift(obj);
        console.log(arr);
    </script>
</body>
</html>

运行结果如下。

[{"name": "Jack", "age": 20}, "red", "green"]

分析:

如果 unshift() 添加的值是一个对象,那么该对象同样会作为一个元素添加进去。至于对象的使用,我们在后面 “JavaScript 对象” 一节中会详细介绍。

JavaScript 在数组结尾添加元素

在 JavaScript 中,我们可以使用 push() 方法在数组的 “末尾” 添加一个或多个元素。

语法:

arr.push(value1, value2, ..., valueN)

说明:

value1、value2、...、valueN 可以是任意类型的值。

注意:

  • push() 方法会改变原数组。
  • push() 方法会返回一个值,不过它的返回值并非添加后的数组,而是添加后的数组长度。

示例 5:push() 添加一个元素

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        const result = arr.push("blue");

        console.log(arr);
        console.log(result);
    </script>
</body>
</html>

运行结果如下。

["red", "green", "blue"]
3

分析:

从这个例子可以看出,push() 方法会改变原数组,然后返回的是添加后的数组长度。如果你不需要用到添加后的数组长度,也可以不使用变量来接收它的返回值,比如:

const arr = ["red", "green"];
arr.push("blue");
console.log(arr);

示例 6:push() 添加多个元素

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        arr.push("blue", "orange");
        console.log(arr);
    </script>
</body>
</html>

运行结果如下。

["red", "green", "blue", "orange"]

分析:

push() 方法可以一次性在数组末尾添加多个元素。

示例 7:push() 添加的元素是数组

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        arr.push(["blue", "orange"]);
        console.log(arr);
    </script>
</body>
</html>

运行结果如下。

["red", "green", ["blue", "orange"]]

分析:

当 push() 的参数是一个数组时,此时该数组会作为一个元素添加进去。

示例 8:push() 添加的元素是对象

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script>
        const arr = ["red", "green"];
        const obj = {name: "Jack", age: 20};

        arr.push(obj);
        console.log(arr);
    </script>
</body>
</html>

运行结果如下。

["red", "green", {"name": "Jack", "age": 20}]

分析:

如果 push() 添加的值是一个对象,那么该对象同样会作为一个元素添加进去。

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号