JavaScript-数组操作

基本函数集合

函数名称语法函数解析返回值是否改变原数组
 var arr = new Array()创建一个空数组  
 var arr = new Array(10)创建一个包含10项的数组  
 var arr = Array(7)创建一个长度为7的空数组(注意:这是指一个有7个空位(empty)的数组,而不是由7个undefined组成的数组)  
 var arr = Array.of(7)创建一个包含1个字符串7的数组  
constructor 返回对创建此对象的数组函数的引用  
lengtharray.length设置或返回数组中元素的数目  
prototype 向对象添加属性和方法  
valueOf()array.valueOf()

返回 Array 对象的原始值。

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

valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

 N
concat()arrayObject.concat(arrayX,arrayX,......,arrayX)连接两个或多个数组 N
join()arrayObject.join(separator) /*separator-分隔符*/把数组中的所有元素放入一个字符串 N
reverse()arrayObject.reverse()颠倒数组中元素的顺序 Y
sort()

arrayObject.sort(sortby)

sortby 可选。规定排序顺序。必须是函数。

   
pop()arrayObject.pop()

删除并返回数组的最后一个元素。

删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值

 Y
shift()arrayObject.shift()

把数组的第一个元素从其中删除,并返回第一个元素的值。

如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。

 Y
unshift()arrayObject.unshift(newelement1,newelement2,....,newelementX)向数组的开头添加一个或更多元素,并返回新的长度arrayObject 的新长度。 
push()arrayObject.push(newelement1,newelement2,....,newelementX)向数组的末尾添加一个或多个元素,并返回新的长度。 Y
slice()arrayObject.slice(start,end)   /*-1 指最后一个元素*/

从已有的数组中返回选定的元素。

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素

 N
splice()

arrayObject.splice(index,howmany,item1,.....,itemX)

/* ary.splice(下标,删除数量,可选参数用于添加新项目)

向/从数组中添加/删除项目,然后返回被删除的项目。 Y
indexOf()

array.indexOf(item,start)

/* indexOf(查找的元素,可选参数规定开始检索得位置

取值范围 [0-stringObject.length -1 ] )

返回数组中某个指定的元素位置

从头到尾地检索数组

元素在数组中的位置,如果没有搜索到则返回-1N
lastIndexOf()stringObject.lastIndexOf(searchvalue,fromindex)返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索如果要检索的字符串值没有出现,则该方法返回 -1N
toString()array.toString()直接转为字符串,并返回  
forEach()

array.forEach(function(currentValue, index, arr), thisValue)

currentValue 当前元素

index 当前元素的索引值

arr 当前元素所属的数组对象

thisValue 可选。传递给函数的值一般用 "this" 值。
如果这个参数为空, "undefined" 会传递给 "this" 值

调用数组的每个元素,并将元素传递给回调函数。

对于空数组是不会执行回调函数的。

 N
map()

array.map(function(currentValue,index,arr), thisValue)

同上

返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

按照原始数组元素顺序依次处理元素。

不会对空数组进行检测。

 N
filter()

array.filter(function(currentValue,index,arr), thisValue)

创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

不会对空数组进行检测

没有符合条件的元素则返回空数组N
every()array.every(function(currentValue,index,arr), thisValue)

用于检测数组所有元素是否都符合指定条件。

如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

如果所有元素都满足条件,则返回 true

不会对空数组进行检测

 N
some()
array.some(function(currentValue,index,arr),thisValue)

用于检测数组中的元素是否满足指定条件;

会依次执行数组的每个元素;

如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测;

如果没有满足条件的元素,则返回false;

不会对空数组进行检测

 N
reduce()

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

/initialValue 可选,传递给函数的初始值

接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

可以作为一个高阶函数,用于函数的 compose。

对于空数组是不会执行回调函数。

  
reduceRight()array.reduceRight(function(total, currentValue, currentIndex, arr), initialValue)功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值