数组方法

1、堆栈进出


 ===> unshift() |                               |    ===> pop()
                |          [1,2,3,4]            |    
 <=== shift()   |                               |    <=== push()
                |                               |
  // 方法均改变原数组,若有弹出则返回弹出的值  
                    若是添加则返回添加后的数组长度   

2、join("分隔符") 将数组转换为字符串(不影响原数组的值)

var arry = [1,2,3,4];
arry.join() // ===> "1,2,3,4"   // 默认分隔符为 ','

3、reserve() 将数组元素逆向排序( 影响原来的数组 )

arry.reverse();
arry              //  ===>均返回 [4,3,2,1]

4、sort() 将数组升序排序 ( 影响原来的数组 默认字母表顺序排序 )

arry.sort();
arry              //  ===> 均返回[1,2,3,4]
sort(function( a, b ){
 return a - b
})

5、concat() 拼接数组( 返回新数组,不用影响原来数组 )

[1,2].concat(3,4)        // ===> [1,2,3,4]
[1,2].concat([3,4])      // ===> [1,2,3,4]
[1,2].concat([3,[4,5]],6)  // ===> [1,2,3,[4,5],6]

6、slice(startIndex, endIndex)  返回截取数组的片段 (不用影响原来数组)

// 返回数组 [startIndex,endIndex)
arry.slice(0,1)  // ===> [1]
arry             // ===> [1, 2, 3, 4]

7、splice(开始删除元素的索引(删除包含该值),删除个数,此处开始是要插入的元素)(影响原来的数组)

// 插入或删除数组元素 (影响原来的数组 并返回删除的元素数组)

arry = [1,2,3,4];
arry.splice(2,2)       // ===> [3, 4]
arry                   // ===> [1, 2]
arry.splice(2,0,3,4,5) // ===> []
arry                   // ===> [1, 2, 3, 4, 5]

8、 toString()  将数组转换为字符串

var ary2 = [1,2,[3,4]];
ary2.toString() //  ===> "1,2,3,4"   等效于 join()

 9、forEach( ) 遍历循环 传参为函数

forEach(function( 数组元素,元素索引,当前数组 ){
  // 函数主体
})
var data = [1,2,3];
data.forEach(function( v, i, a){
  a[i] = v + 1;
})
// data  ===> [2,3,4]

10、map()  循环遍历 传参为函数

// map必须有一个返回值 所有的返回值组成一个新数组
map(function(数组元素,元素引号,当前数组){
  return xxxx;
})
var data = [1,2,3];
var mapData = data.map(function( v, i, a){
  a[i] = v + 10;
return i*i
})
// data       ===> [11, 12, 13]
// mapData    ===> [0, 1, 4]

11、 filter() 过滤函数 传参为一个判断函数,若为true则返回

var a = [1,2,3,4,5];
var b = a.filter(function(x){
  return x > 3;
})
//    b ===> [4,5]
//    a ===> [1,2,3,4,5]

12、every() 和 some() 传参为函数  逻辑判断方法 返回true或false

// every : 当所有元素满足 传参函数 返回值为true时 every返回true
// some : 当存在一个返回值为true时,即返回true
var a = [1,2,3,4,5];
var b = a.every(function(x){
  return x > 3;
})
var c = a.some(function(x){
  return x > 3;
})
// b ===> false
// c ===> true

13 、 reduce() 和 reduceRight()  数组元素组合 生成单值 【例 6-2】

// reduce() 传参为函数,[起始值]
// reduceRight() 数组执行函数 从右至左
// 例子中 x为 函数上次的反参
var a = [1,2,3,4];
var sum = a.reduce(function(x, y){
  return x + y;
})
//===> 10
var a = [1,2,3,4];
var sum = a.reduce(function(x, y){
  return x + y;
}, 10)
// ===> 20

14、 indexOf() 和 lastIndexOf() 检索数组是否包含指定值 

// 传参为 数组是否包含的值,[ 开始检索的数组索引 默认从头开始 ]
// lastIndexOf() 为反向检索
// 若存在 返回索引值;否则返回 -1
var a = [3,5,7];
a.indexOf(5);   //  ===> 1
a.indexOf(6);   //  ===> -1

 

转载于:https://my.oschina.net/littleFaye/blog/1611301

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值