导航
×
   ❮   
HTML CSS JavaScript PHP Go ECMS

JavaScript 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JavaScript 数组方法


把数组转换为字符串

JavaScript 方法 toString() 把数组转换为数组值(逗号分隔)的字符串。

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();

结果:

Banana,Orange,Apple,Mango
亲自试一试 »

join() 方法也可将所有数组元素结合为一个字符串。

它的行为类似 toString(),但是您还可以规定分隔符:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.join(" * ");

结果:

Banana * Orange * Apple * Mango
亲自试一试 »

Popping 和 Pushing

在处理数组时,删除元素和添加新元素是很简单的。

Popping 和 Pushing 指的是:

从数组弹出项目,或向数组推入项目。


Popping

pop() 方法从数组中删除最后一个元素:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();              // 从 fruits 中删除最后一个元素 ("Mango")
亲自试一试 »

pop() 方法返回"被弹出"的值:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
 var x =fruits.pop();      // x 的值为 "Mango"
亲自试一试 »

Pushing

push() 方法(在数组结尾处)向数组添加一个新的元素:

实例

 var fruits = ["Banana", "Orange", "Apple", "Mango"];
 fruits.push("Kiwi");       //  Adds a new element ("Kiwi") to fruits
亲自试一试 »

push() 方法返回新数组的长度:

实例

 var fruits = ["Banana", "Orange", "Apple", "Mango"];
 var x = fruits.push("Kiwi");   //  the value of x is 5
亲自试一试 »

位移元素

位移与弹出等同,但处理首个元素而不是最后一个。

shift() 方法会删除首个数组元素,并把所有其他元素"位移"到更低的索引。

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();           // 从 fruits 中删除第一个元素 "Banana"
亲自试一试 »

shift() 方法返回被"位移出"的字符串:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var x =fruits.shift();    // x 的值为 "Banana"
亲自试一试 »

unshift() 方法(在开头)向数组添加新元素,并"反向位移"旧元素:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");   // 将新元素 "Lemon" 添加到 fruits
亲自试一试 »

unshift() 方法返回新数组的长度。

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");   // 返回 5
亲自试一试 »

更改元素

通过使用它们的索引号来访问数组元素:

数组索引(下标)以 0 开始。[0] 是第一个数组元素,[1] 是第二个,[2] 是第三个 ...

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[0] = "Kiwi";       // 将 fruits 的第一个元素更改为 "Kiwi"
亲自试一试 »

length 属性提供了向数组追加新元素的简易方法:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Kiwi";         // 将 "Kiwi" 附加到 fruits
亲自试一试 »

删除元素

既然 JavaScript 数组属于对象,其中的元素就可以使用 JavaScript delete 运算符来删除:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
delete fruits[0];          // 将 fruits 中的第一个元素更改为 undefined
亲自试一试 »

使用 delete 会在数组留下未定义的空洞。请使用 pop()shift() 取而代之。


拼接数组

splice() 方法可用于向数组添加新项:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
亲自试一试 »

第一个参数(2)定义了应添加新元素的位置(拼接)。

第二个参数(0)定义应删除多少元素。

其余参数("Lemon","Kiwi")定义要添加的新元素。

splice() 方法返回一个包含已删除项的数组:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 2, "Lemon", "Kiwi");
亲自试一试 »

使用 splice() 来删除元素

通过聪明的参数设定,您能够使用 splice() 在数组中不留"空洞"的情况下移除元素:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);       // 去除 fruits 的第一个元素
亲自试一试 »

第一个参数(0)定义新元素应该被添加(接入)的位置。

第二个参数(1)定义应该删除多个元素。

其余参数被省略。没有新元素将被添加。


合并(连接)数组

concat() 方法通过合并(连接)现有数组来创建一个新数组:

实例(合并两个数组)

var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
  var myChildren = myGirls.concat(myBoys);  // 合并(连接)myGirls 和 myBoys
亲自试一试 »

concat() 方法不会更改现有数组。它总是返回一个新数组。

concat() 方法可以使用任意数量的数组参数:

实例(合并三个数组)

var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias", "Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3);   // 将 arr1 与 arr2 和 arr3 连接起来
亲自试一试 »

concat() 方法也可以将值作为参数:

实例(将数组与值合并)

var arr1 = ["Emil", "Tobias", "Linus"];
var myChildren = arr1.concat("Peter"); 
亲自试一试 »

裁剪数组

slice() 方法用数组的某个片段切出新数组。

本例从数组元素 1 ("Orange")开始切出一段数组:

实例

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1);
亲自试一试 »

slice() 方法创建新数组。它不会从源数组中删除任何元素。

本例从数组元素 3 ("Apple")开始切出一段数组:

实例

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3);
亲自试一试 »

slice() 可接受两个参数,比如 (1, 3)。

该方法会从开始参数选取元素,直到结束参数(不包括)为止。

实例

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
亲自试一试 »

如果结束参数被省略,比如第一个例子,则 slice() 会切出数组的剩余部分。

实例

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(2);
亲自试一试 »

自动 toString()

如果需要原始值,则 JavaScript 会自动把数组转换为字符串。下面两个例子将产生相同的结果:

这两个例子将产生相同的结果:

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();
亲自试一试 »

实例

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;
亲自试一试 »

所有 JavaScript 对象都拥有 toString() 方法。


查找数组中的最大和最小值

没有在 JavaScript 数组中查找最高和最低值的内建函数。

您将在本教程的下一章学习如何解决这个问题。


数组排序

我们将在下一章学习到数组排序的知识。


完整的数组参考手册

如需完整的参考手册,请访问我们完整的 JavaScript 数组参考手册

该参考手册包含所有数组属性和方法的描述和实例。


freew3c.com 中文网是独立运营的中文开发者学习平台,与 freew3c.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。


Copyright @2020-2026 京ICP备888888号-8