视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
浅谈JS数组Array的用法
2020-11-03 19:02:56 责编:小采
文档


JavaScript数组用于在单个变量中存储多个值。数组是一个特殊变量,一次可以包含多个值。

【相关课程推荐:JavaScript视频教程】

将数组转换为字符串

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

例子:

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

join()方法还将所有数组元素连接成一个字符串。它的行为就像toString(),但另外你可以指定分隔符:

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

pop()和push()

使用数组时,很容易删除元素和添加新元素。这就是pop()方法和push()方法。

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

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

pop()方法返回“弹出”的值:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop(); // x的值是 "Mango"

push()方法向数组最后添加一个新元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi"); // 添加一个新的元素 ("Kiwi") 到 fruits 最后

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

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.push("Kiwi"); // x 的值是 5

shift()和unshift()

shift()方法删除第一个数组元素并将所有其他元素“移位”到较低的索引。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift(); // 删除第一个元素 "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可能会在数组中留下undefined的孔。请改用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 = ["Cecilie", "Lone"];
var myChildren = arr1.concat(["Emil", "Tobias", "Linus"]);

数组切片

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()方法可以采用两个参数slice(start,end)。方法从start参数中选择元素,直到(但不包括)end参数。

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

如果省略end参数,就像在第一个示例中那样,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()方法。

本文来自 js教程 栏目,欢迎学习!

下载本文
显示全文
专题