JavaScript 数组

345 阅读4分钟

[TOC]

数组

  • 数组对象的作用:使用单独的变量名来存储一系列的值。
  • 数组中可以包含对象元素、函数、数组等不同的变量类型,数量一般不限制。

1 声明数组

1.1 常规方式

var arr = new Array();
arr[0] = "SillyBoy";      
arr[1] = "SillyGirl";

1.2 简洁方式

var arr = new Array("SillyBoy","SillyGirl");

1.3 字面量的方式

var arr = ["SillyBoy","SillyGirl"];

2 访问数组

  • 通过指定数组名以及索引值(下标),可以访问某个特定的元素。

  • 数组的索引值(下标)从0开始。

    var name1 = arr[0];
    console.log(name1);	//SillyBoy
    //修改数组某元素
    name1 = "Silly";
    console.log(name1);	//Silly
    

3 数组属性和方法

3.1 属性

属性 描述
length 设置或返回数组元素的个数。
constructor 返回创建数组对象的原型函数。
prototype 允许向数组对象(原型)添加属性或方法。

3.2 方法

方法 描述
concat() 连接两个或更多的数组,并返回结果。
copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中。
entries() 返回数组的可迭代对象。
every() 遍历数组每一项个元素是否都符合条件,若全部为true,才返回true ,否则返回false。
fill() 替换原数组中的元素,改变原数组。(第一个参数为替换的值,如果只传入一个值会吧数组中的值全部替换;第二个参数是开始替换的位置索引,把后面的元素全部替换;第三个参数是结束时的索引。)
filter() 过滤。检测数组元素,并返回由符合条件的所有数组元素组成的的新数组。
find() 返回符合传入测试(函数)的数组元素。
findIndex() 返回符合传入测试(函数)的数组元素的索引值。
forEach() 数组中每个元素都执行一次回调函数,改变原数组,没有返回值。
from() 通过给定的对象中创建一个数组。
includes() 判断数组中是否包含传入的元素,返回布尔值。
indexOf() 查找数组内元素,并返回其位置。从数组的开头向后查找,接收两个参数,要查找的项和查找起点的位置索引
isArray() 判断对象是否为数组类型。
join() 把数组内所有元素拉入一个字符串(指定分隔符)
keys() 返回数组的可迭代对象,包含原始数组的键(key)。
lastIndexOf() 查找数组中的元素,并返回它最后出现的位置。
map() 通过指定函数处理数组内的元素,并返回处理后的新数组。
pop() 删除并返回数组的最后一个元素,改变数组长度。
push() 向数组末尾添加一个或以上新元素,并返回新的长度。
reduce() 将数组元素计算为一个值。(从左至右)。为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组
reduceRight() 将数组元素计算为一个值。(从右至左)
reverse() 翻转数组内元素的顺序
shift() 删除并返回数组内的第一个元素,改变数组长度。
slice() 截取数组。返回从原数组中指定开始下表到结束下表之间的项组成的新数组。(原数组不变)
some() 检测数组元素内是否有元素符合指定条件,遍历数组中的每一项,若其中一项为true,则返回值是true。
sort() 按指定的参数对数组进行排序,返回的值是经过排序后的数组(无参,函数)。从小到大排序=>function demo(a,b){return a-b;}
splice(开始位置,删除的个数,元素) 从数组中添加或删除元素。 删数组内的元素 新增数组内的元素:更改的时候传的第二个参数为0表示不删除 一个正的参数,表示截取此参数及之后的所有元素 一个负的参数,表示从尾部开始数,倒数 [a,b)左闭右开区间,截取数组下标为a与b之间的数组元素
toString() 将数组转变为字符串格式,并返回结果。
unshift() 向数组的开头位置添加一个或多个新元素,并返回新的数组长度。
valueOf() 返回数组对象的原始值。

遍历数组for循环 for in

for(var i in arr)