下文笔者讲述Array(数组)对象简介说明,如下所示
Array(数组)简介
数组是值的有序集合
数组中的每个值称为一个元素
每个元素在数组中都有一个数字位置,称为索引
数组的索引从0开始,依次递增
JavaScript创建Array对象的语法
var arr = new Array(values);
var arr = Array(values);
参数说明:
values:各元素组成的列表
元素和元素之间使用逗号分隔
JavaScript创建数组元素的示例
var arrs = new Array("linux28.com-1", "linux28.com-2", "linux28.com-3");
console.log(arrs); //打印出信息 ["linux28.com-1", "linux28.com-2", "linux28.com-3"]
var arrs = [ "linux28.com-1", "linux28.com-2", "linux28.com-3" ];
console.log(arrs); // 输出:(3) ["linux28.com-1", "linux28.com-2", "linux28.com-3"]
您可以通过数组的索引来访问数组中的各个元素,示例代码如下:
var arrs = [ "linux28.com-1", "linux28.com-2", "linux28.com-3" ];
document.write(arrs[0] + "<br>"); // 输出:linux28.com-1
document.write(arrs[1] + "<br>"); // 输出:linux28.com-2
document.write(arrs[2] + "<br>"); // 输出:linux28.com-3
Array对象中的属性
属性 |
备注 |
constructor |
返回创建数组对象的原型函数 |
length |
设置或返回数组中元素的个数 |
prototype |
通过该属性您可以向对象中添加属性和方法 |
例
var users = new Array("js-1", "js-2", "js-3");
Array.prototype.name = null;
users.name = "JavaScript";
document.write(users.constructor + "<br>"); // 输出:function Array() { [native code] }
document.write(users.length + "<br>"); // 输出:3
document.write(users.name + "<br>"); // 输出:JavaScript
Array对象中方法
方法 |
备注 |
concat() |
拼接两个或更多的数组,并返回结果 |
copyWithin() |
从数组的指定位置拷贝元素到数组的另一个指定位置中 |
entries() |
返回数组的可迭代对象 |
every() |
检测数值元素的每个元素是否都符合条件 |
fill() |
使用一个固定值来填充数组 |
filter() |
检测数值元素,并返回符合条件所有元素的数组 |
find() |
返回符合传入函数条件的数组元素 |
findIndex() |
返回符合传入函数条件的数组元素索引 |
forEach() |
数组每个元素都执行一次回调函数 |
from() |
通过给定的对象中创建一个数组 |
includes() |
判断一个数组是否包含一个指定的值 |
indexOf() |
搜索数组中的元素,并返回它所在的位置 |
isArray() |
判断对象是否为数组 |
join() |
把数组的所有元素放入一个字符串 |
keys() |
返回数组的可迭代对象,包含原始数组的键(key) |
lastIndexOf() |
搜索数组中的元素,并返回它最后出现的位置 |
map() |
通过指定函数处理数组的每个元素,并返回处理后的数组 |
pop() |
删除数组的最后一个元素并返回删除的元素 |
push() |
向数组的末尾添加一个或更多元素,并返回数组的长度 |
reduce() |
累加(从左到右)数组中的所有元素,并返回结果 |
reduceRight() |
累加(从右到左)数组中的所有元素,并返回结果 |
reverse() |
反转数组中元素的顺序 |
shift() |
删除并返回数组的第一个元素 |
slice() |
截取数组的一部分,并返回这个新的数组 |
some() |
检测数组元素中是否有元素符合指定条件 |
sort() |
对数组的元素进行排序 |
splice() |
从数组中添加或删除元素 |
toString() |
把数组转换为字符串,并返回结果 |
unshift() |
向数组的开头添加一个或多个元素,并返回新数组的长度 |
valueOf() |
返回数组对象的原始值 |
例
var users = ["毛阿狗", "刘畅", "小迪", "刘幂", "芒果"];
document.write(users.entries() + "<br>"); // 返回:[object Array Iterator]
document.write(users.includes("小迪") + "<br>"); // 返回:true
document.write(users.fill("小城") + "<br>"); // 返回:小城,小城,小城,小城,小城
var users = ["毛阿狗", "刘畅", "小迪", "刘幂", "芒果"];
document.write(users.indexOf("芒果") + "<br>"); // 返回:4
document.write(Array.isArray(users) + "<br>"); // 返回:true
document.write(users.join("-") + "<br>"); // 返回:毛阿狗-刘畅-小迪-刘幂-芒果
document.write(users.lastIndexOf("刘畅") + "<br>"); // 返回:1
document.write(users.pop() + "<br>"); // 返回:芒果
document.write(users.push("水葫芦") + "<br>"); // 返回:5
document.write(users.unshift("李念","王八") + "<br>"); // 返回:7
document.write(users.slice(1, 5) + "<br>"); // 返回:王八,毛阿狗,刘畅,小迪
document.write(users.sort() + "<br>"); // 返回:小迪,刘畅,李念,毛阿狗,刘幂,王八,水葫芦
document.write(users.valueOf() + "<br>"); // 返回:小迪,刘畅,李念,毛阿狗,刘幂,王八,水葫芦