汇总js中数组的属性和常用方法

数组是编程中常用的数据结构。js中的数组有众多的属性和方法,为各个功能的实现提供了较大的方便。遂总结如下,方便平时查找使用:

Array 对象属性:

属性描述
constructor返回创建此对象的数组函数的引用
length设置或者返回数组中元素的数目
prototype此属性可以向对象添加属性和方法

Array对象方法:

方法描述备注
push(newelement1,newelement2,……,newelementx)向数组的末尾添加一个或更多元素,并返回新的长度 
pop()删除并且返回数组的最后一个元素 
shift()删除并且返回数组的第一个元素 
unshift(newelement1,newelement2,……,newelementx)向数组的开头添加一个或更多元素,并返回新的长度 
slice(start,end)返回从start到end(不包含)的元素组成的新数组 
splice(index,howmany,item1,.....,itemX)

删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 原数组中删除了元素,则返回的是含有被删除的元素的数组。

 

如果第二个参数为0,则只是添加
sort(sortby)对数组的元素进行排序,参数可选,规定排序顺序,必须是函数。如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。
concat(arrayX,arrayX,......,arrayX)用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。arrayX是必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
join(separator)把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。如果省略该参数,则使用逗号作为分隔符。
reverse()颠倒数组中元素的顺序。该方法会改变原来的数组,而不会创建新的数组。
toSource()表示对象的源代码。

该原始值由 Array 对象派生的所有对象继承。

toSource() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
toString()可把数组转换为字符串,并返回结果。 
toLocaleString()把数组转换为本地字符串。 
valueOf()

法返回 Array 对象的原始值。该原始值由 Array 对象派生的所有对象继承。

valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
forEach()数组中的每个元素调用传参提供的函数,无返回值,直接改变原数组 
map()数组中的每个元素调用传参提供的函数,结果作为新的数组返回,不改变原数组 
filter()对所有元素进行过滤,将满足条件的元素作为一个新数组返回 
every()对所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false 
some()对所有元素进行判断返回一个布尔值,如果存在元素满足判断条件,则返回true,如果都不满足则为false 
reduce(callback, [initialValue])所有元素调用返回函数,返回值为最后的结果。传入的值必须为函数类型

callback:执行数组中每个值的函数,包含四个参数:

  1. accumulator(累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue);
  2. currentValue(数组中正在处理的元素。);
  3. currentIndex(可选,正在处理的当前元素的索引);
  4. array(可选,调用reduce方法的数组。)

initialValue:作为第一次调用callback函数时的第一个参数的值。如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。

reduceRight()与reduce()类似,将数组元素计算为一个值,区别为从右向左操作 
indexOf()返回数组中某个指定的元素位置。 
lastIndexOf()

返回一个指定的元素在数组中最后出现的位置,在一个数组中的指定位置从后向前搜索。

如果要检索的元素没有出现,则该方法返回 -1。
copyWithin(target, start, end)从数组的指定位置拷贝元素到数组的另一个指定位置中。

target必需。复制到指定目标索引位置。

start可选。元素复制的起始位置。

end可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数。

fill(value,start,end)用于将一个固定值替换数组的元素。 
find()

返回通过测试(函数内判断)的数组的第一个元素的值。

  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  • 如果没有符合条件的元素返回 undefined
find() 并没有改变数组的原始值。
findIndex()返回传入一个测试条件(函数)符合条件的数组第一个元素位置。 
from()

方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。

如果对象是数组返回 true,否则返回 false。

 
includes()方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。 
keys()

方法用于从数组创建一个包含数组键的可迭代对象。

如果对象是数组返回 true,否则返回 false。

 
values()方法用于从数组创建一个包含数组值的可迭代对象。 
entries()

方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。

迭代对象中数组的索引值作为 key, 数组元素作为 value。

 

定义二维数组:

方法一:直接定义并且进行初始化,适用于数组元素已知且数据量较少的情况:

var _array = [["01","02"],["11","12"],["21","22"]]

 方法二:使用两层for循环定义一个二维数组,适用于数组长度未知的情况:

var tArray = new Array(); //先声明一维
for(var i=0; i<k; i++){   //一维长度为k,k为变量,可以根据实际情况改变
 
    tArray[i]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组;
 
    for(var j=0;j<p;j++){  //一维数组里面每个元素数组可以包含的数量p,p也是一个变量;
 
    tArray[i][j]=""; //这里将变量初始化,我这边统一初始化为空,后面在用所需的值覆盖里面的值
  }
}

tArray[0] = ["12","32","456"];     // ["12", "32", "456"]覆盖初始化时的空值。

方法三:可以使用一层for循环定义二维数组,适用于已知的几个数组组合成一个二维数组的情况:

for(var i=0; i<k; i++){
 
    tArray[i]=[ aArray[a],bArray[a],cArray[a]]; //还可以增加dArray[a],eArray[a]
};

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值