数组方法(es4、es5、es6)

12 篇文章 0 订阅

数组方法(es4、es5、es6)

目录

数组方法(es4、es5、es6)

js中数组常用的方法:

es4中常用方法

es5中常用方法

es6中常用方法


js中数组常用的方法:

es4中常用方法

1,sort() 数组排序 可以没有参数使用:将数组中所有的元素都看作字符型数据来进行排序。

var num=[10,5,4,0,29,91,52,73,1];
console.log(num);
num.sort(function(a,b){ return a-b; })   //将num数组的元素按照数值关系升序排列
console.log(num);   //[0,1,4,5,10,29,52,73,91];

2,reverse() 数组翻转。

 var x=[10,20,30,40,50];
     console.log(x);    //[10,20,30,40,50]
     x.reverse();
     console.log(x);    //[50,40,30,20,10]

3,slice(start,end)  从数组中截取,如果不传参,会返回原数组。如果只传入一个参数,会从头部开始删除,直到数组结束,原数组不会改变;传入两个参数,第一个是开始截取的索引,第二个是结束截取的索引,原数组不会改变。最多可以接受两个参数。

var a=[5,10,15,20,25,30,35,40];
var b=a.slice(4,7);   //从数组a中索引值为4的元素开始一直截取到索引值为7的元素为止
console.log(a);     //[5,10,15,20,25,30,35,40]
console.log(b);     //[25,30,35]

 

4,push()  可以添加一个或多个参数到数组的尾部,添加之后原来的数组会发生改变,返回的是添加后的数组的长度。

6,pop() 从数组尾部删除一个元素,原数组会发生改变,返回数组中被删除的元素。

7,unshift() 可以添加一个或多个参数到数组的头部,添加后原来的数组会发生改变,返回的是添加后的数组的长度。

8,shift() 从数组头部删除一个元素,原数组会发生改变,返回数组中被删除的元素。

9,splice()

截取类 没有参数,返回空数组,原数组不变;一个参数,从该参数表示的索引位开始截取,直至数组结束,返回截取的 数组,原数组改变;两个参数,第一个参数表示开始截取的索引位,第二个参数表示截取的长度,返回截取的 数组,原数组改变;三个或者更多参数,第三个及以后的参数表示要从截取位插入的值。

9,join() 数组拼接。

10,isArray() 判断是否是数组。

11,toString() 影响原数组,将数组转换为字符串。功能与不带参数的join()一致。

var array=[10,20,30,40,50,60,70];
y=array.toString();
console.log(array);	//[10,20,30,40,50,60,70]
console.log(y);	//10,20,30,40,50,60,70

es5中常用方法

1,indexOf():该方法从数组的开头开始向后查找,查到返回下标,查不到返回-1。

从前往后遍历,返回item在数组中的索引位,如果没有返回-1;通常用来判断数组中有没有某个元素。可以接收两个参数,第一个参数是要查找的项,第二个参数是查找起点位置的索引。

2,lastIndexOf()  该方法从数组的末尾开始向前查找,查到返回下标,查不到返回-1。与indexOf一样,区别是从后往前找。

3,forEach()  该方法对数组中的每一项运行给定函数。没有返回值。其实就是遍历循环,和for循环没有太大差别。只能通过return false跳出循环,不能终止循环

 
var obj = {
    a:'qq'
}
var arr = [11,22,33,44,55]
arr.forEach(function(item,index,arr){
	console.log(item,index,arr,this)
},obj)

4,map() 该方法对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组

 
var obj = {
    a:'qq'
}
var arr = [11,22,33,44,55]
var result = arr.map(function(item,index,arr){
	console.log(item,index,arr,this)
	return item+1
},obj)
console.log(result)
 

5,filter() 该方法对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组。利用这个方法可对数组元素进行过滤筛选。

 
var obj = {
    a:'qq'
}
var arr = [11,22,33,44,55]
var result = arr.filter(function(item,index,arr){
	console.log(item,index,arr,this)
	if(item>22) return true;
},obj)
console.log(result)
 

6,some() 该方法对数组中的每一项运行给定函数,如果该函数对任何一项返回 true,则返回true,且终止循环。

 
var obj = {
    a:'qq'
}
var arr = [11,22,33,44,55]
var result = arr.some(function(item,index,arr){
	console.log(item,index,arr,this)
	return item>22
},obj)
console.log(result)
 

7,every() 该方法对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回true.只要有一项返回false,则终止循环。、

 
var obj = {
    a:'qq'
}
var arr = [11,22,33,44,55]
var result = arr.every(function(item,index,arr){
	console.log(item,index,arr,this)
	return item>11
},obj)
console.log(result)

8,reduce()  该方法从数组的第一项开始,逐个遍历到最后一项。

var arr = [11,22,33,44,55]
var result = arr.reduce(function(pre,cur,index,arr){
	console.log(pre,cur,index,arr)
	return pre+cur
})
console.log(result)
 

es6中常用方法

1,Array.from()  用于类似数组的对象(即有length属性的对象)和可遍历对象转为真正的数组。

let json ={ 
    '0':'hello', 
    '1':'123', 
    '2':'panda', 
    length:3 
} 
let arr = Array.from(json); console.log(arr);
//["hello", "123", "panda"]

2,Array.of()  将一组值转变为数组。

let arr1 = Array.of('你好','hello'); console.log(arr1);//["你好", "hello"]

3,find()和findIndex()

用于找出第一个符合条件的数组成员。参数是个回调函数,所有数组成员依次执行该回调函数,直到找到第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,就返回undefined;可以接收3个参数,依次为当前值、当前位置、原数组。

4,fill()

使用fill()方法给定值填充数组。
如:new Array(3).fill(7);//[7,7,7]
可以接收第二个和第三个参数,用于指定填充的起始位置和结束位置(不包括结束位置)。

let arr3 = [0,1,2,3,4,5,6,7]; arr3.fill('error',2,3); 
console.log(arr3);
//[0,1,"error",3,4,5,6,7]

5,遍历数组的方法

entries()、values()、keys()

这三个方法都是返回一个遍历器对象,可用for...of循环遍历,唯一区别:keys()是对键名的遍历、values()对键值的遍历、entries()是对键值对的遍历。

for(let item of ['a','b'].keys()){
    consloe.log(item);
    //0
    //1
}
for(let item of ['a','b'].values()){
    consloe.log(item);
    //'a'
    //'b'
}
let arr4 = [0,1];
for(let item of arr4.entries()){
    console.log(item);  
    //  [0, 0]
    //  [1, 1]
}

如果不用for...of进行遍历,可用使用next()方法手动跳到下一个值。

let arr5 =['a','b','c']
let entries = arr5.entries();
console.log(entries.next().value);
//[0, "a"]
console.log(entries.next().value);
//[1, "b"]
console.log(entries.next().value);
//[2, "c"]
console.log(entries.next().value);
//undefined

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值