操作数组常用的几种方法

1、forEach——循环遍历

forEach用于循环遍历数组最常用的方法之一,它提供一个回调函数,可用于处理数组的每一个元素,默认没有返回值。回调函数的参数,第一个参数是数组的每一项,第二个参数是数组中每一项的下标

var arr = [1, 2, 3, 4, 5, 6];
arr.forEach((item, index) => {
    console.log(item,index);
});
//输出结果:item : 1 2 3 4 5 6 , index: 0 1 2 3 4 5

2、concat()——拼接数组

用来拼接数组 并且 会返回一个新数组。该方法不会改变原数组

var arr = [1, 2, 3, 4, 5, 6];
console.log(arr.concat([7, 8, 9]));
//输出结果:[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
 
 
var arr1 = [1, 2, 3, 4, 5, 6];
var arr2 = [7, 8, 9]
var arr3 = arr1.concat(arr2)
console.log(arr1);      //[ 1, 2, 3, 4, 5, 6 ]
console.log(arr3);      //输出结果:[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

3、filter()——过滤数组

filter返回值是一个新的数组
filter里面可以直接 return 筛选条件

let arr = [20, 50, 80]
/* 
   item:数组每一项
   index:数组每一项的x下标
   array:数组本身
*/
let newArr = arr.filter((item, index, array) => {
    return item >= 70
})
console.log(newArr);  
//返回筛选后的数组 [ 80 ]

4、slice()——截取元素

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。返回选定的元素,该方法不会修改原数组。

// splice-- 根据索引删除元素arr.splice(要删除的内容的下标,删除几个,需要替换的元素)
 
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
 
console.log(arr.splice(0, 2, '123'));     // 返回值是被删除的元素['a','b']  
console.log(arr);          //最终数组 [ '123', 'c', 'd', 'e', 'f', 'g' ]
 
 
let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
 
console.log(arr.splice(0, 2, '123'));     // 返回值是被删除的元素[]  
console.log(arr);          //最终数组 ['a', 'b', 'c', 'd', 'e', 'f', 'g']

6、substring() 和 substr()

相同点:如果只是写一个参数,两者的作用都一样:都是是截取字符串从当前下标以后直到字符串最后的字符串片段。
substr(startIndex);
substring(startIndex);

let arr = '123456789'
console.log(arr.substr(2));        //'3456789'
console.log(arr.substring(2));     //'3456789'

不同点:第二个参数
substr(startIndex,lenth): 第二个参数是截取字符串的长度(从起始点截取某个长度的字符串);
substring(startIndex, endIndex): 第二个参数是截取字符串最终的下标 (截取2个位置之间的字符串,‘含头不含尾’)。

let arr = '123456789'
console.log(arr.substr(2, 5));          //'34567'
console.log(arr.substring(2, 5));       //'345'

7、every()——判断数组中是否有满足

every遍历数组 一般用于判断数组中是否有满足条件的数组元素,所有元素遍历之后,所有元素都满足条件的元素是返回值为true,若有一个不满足则返回false.

var arr = [1, 2, 3, 4, 5, 6]
console.log(arr.every(item => item > 1));     
 
//输出结果:false
 
var arr = [1, 2, 3, 4, 5, 6]
console.log(arr.every(item => item > 0));     
 
//输出结果:true

8、some()——只要有一个满足条件返回值就是true,没有满足条件的则为false

some方法和every方法非常的类似 ,所有元素遍历之后,所有元素都满足条件的元素是返回值为true,若有一个不满足则返回false.

var arr = [1, 2, 3, 4, 5, 6]
console.log(arr.every(item => item > 6));     
 
//输出结果:false
 
var arr = [1, 2, 3, 4, 5, 6]
console.log(arr.every(item => item > 3));     
 
//输出结果:true

9、push()——从数组末尾追加

push从数组末尾添加,返回值是数组的长度,会改变原数组

var arr = [1, 2, 3, 4, 5]
console.log(arr.push(6, 7));        // 7 arr数组的长度 
console.log(arr);                   //输出结果:[1, 2, 3, 4, 5, 6, 7]

10、unshift()——从数组前面添加

unshift从数组前面添加,返回值是数组的长度,会改变原数组

var arr = [1, 2, 3, 4, 5]
console.log(arr.unshift(6, 7));        // 7 arr数组的长度 
console.log(arr);                   //输出结果:[ 6, 7, 1, 2, 3, 4, 5 ]

11、pop()——从数组末尾删除

pop 从数组末尾删除,返回值是删除的值,会改变原数组

var arr = [1, 2, 3, 4, 5]
console.log(arr.pop());        // 5 删除的值
console.log(arr);              //输出结果:[ 1, 2, 3, 4 ]

12、reduce——数组求和

对数组进行求和

var arr = [1, 2, 3, 4, 5]
console.log(arr.reduce((sum, val) => sum + val, 0));        // 输出结果  15

13、reverse()——反转数组

reverse 将数组倒序排列

var arr = [1, 2, 3, 4, 5]
console.log(arr.reverse());        // 输出结果  [ 5, 4, 3, 2, 1 ]

14、sort()——排序

按照 Unicode code 位置排序,默认升序

let str = ['a', 'q', 'c', 'l']
console.log(str.sort());
 
let arr = [2, 10, 25, 55]
console.log(arr.sort());

15、indexO()f 和 lastIndexOf ()——查找值

都接受两个参数:查找的值、查找起始位置
不存在,返回 -1 ;存在,返回位置。indexOf 是从前往后查找, lastIndexOf 是从后往前查找。

indexof()
let arr = [1, 9, 3, 4, 5]
console.log(arr.lastIndexOf(3));        //2
console.log(arr.lastIndexOf(7));        //-1
lastIndexOf()
let arr = [2, 5, 9, 2]
console.log(arr.lastIndexOf(2));           //3
console.log(arr.lastIndexOf(7));           //-1
console.log(arr.lastIndexOf(2, 3));        //-1
console.log(arr.lastIndexOf(2, 2));        //-1
console.log(arr.lastIndexOf(2, -2));       //-1
console.log(arr.lastIndexOf(2, -1));       //-1

16、findIndex()——查找数组中第一个满足条件的属性,并返回下标

findIndex 和find方法有雷同 他们都找到第一个满足条件的值 然后不在继续循环数组
findIndex方法 返回的是第一个满足条件元素的下标

var arr = [1, 2, 3, 4, 5]
var index = arr.findIndex(item => {
    return item == 3
})
//返回第一个满足条件元素的下标
console.log(index);

17、数组转字符串

arr.toString(): 把数组转换为字符串
arr.toLocaleString(): 把数组转换为字符串
arr.join(): 把数组转换为字符串, 可以传入不同的符号进行连接 默认用逗号连接

var arr = [1, 2, 3, 4, 5]
console.log(arr.join('|'));                 //输出结果:1|2|3|4|5
console.log(arr.toLocaleString());          //输出结果:1,2,3,4,5
console.log(arr.toString());                //输出结果:1,2,3,4,5
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值