操作数组常用的几种方法

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 中的元素。返回选定的元素,该方法不会修改原数组。

let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

console.log(arr.slice(0, 2));     // 返回值是被删除的元素['a','b']  
console.log(arr);                 //['a', 'b', 'c', 'd', 'e', 'f', 'g']

5、splice()——删除数组中的属性

  • splice() 方法可删除从index处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。splice() 方法会直接对数组进行修改。
// 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

猜你喜欢

转载自blog.csdn.net/m0_61701551/article/details/123239009