数组的方法 forEach filter map slice splice
Posted zhanghongkun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的方法 forEach filter map slice splice相关的知识,希望对你有一定的参考价值。
目前一些数组的实用的方法
1 arr.splice(i,n) 删除从i(索引值)开始之后的那个元素。返回值是删除的元素,改变原数组;
参数: i 索引值 n 个数
let arr = [1,2,3,4,5] console.log(arr.splice(2,2)) //[3,4] console.log(arr) // [1,2,5]
2 arr.concat() 连接两个数组 返回值为连接后的新数组,改变原数组;
let arr = [1,2,3,4,5] console.log(arr.concat([1,2])) // [1,2,3,4,5,1,2] console.log(arr) // [1,2,3,4,5]
3 str.split() 将字符串转化为数组
let str = ‘123456‘ console.log(str.split(‘‘)) // ["1", "2", "3", "4", "5", "6"]
4 arr.slice(start,end) 切去索引值start到索引值end的数组,不包含end索引的值,返回值是切出来的数组
let arr = [1,2,3,4,5] console.log(arr.slice(1,3)) // [2,3] console.log(arr) // [1,2,3,4,5]
5 arr.forEach(callback) 遍历数组,无return
callback的参数: value --当前索引的值
index --索引
array --原数组
let arr = [1,2,3,4,5] arr.forEach( (value,index,array)=> console.log(`value:$value index:$index array:$array`) ) // value:1 index:0 array:1,2,3,4,5 // value:2 index:1 array:1,2,3,4,5 // value:3 index:2 array:1,2,3,4,5 // value:4 index:3 array:1,2,3,4,5 // value:5 index:4 array:1,2,3,4,5 let arr = [1,2,3,4,5] arr.forEach( (value,index,array)=> value = value * 2 console.log(`value:$value index:$index array:$array`) ) console.log(arr) // value:2 index:0 array:1,2,3,4,5 // value:4 index:1 array:1,2,3,4,5 // value:6 index:2 array:1,2,3,4,5 // value:8 index:3 array:1,2,3,4,5 // value:10 index:4 array:1,2,3,4,5 // [1, 2, 3, 4, 5]
6 arr.map(callback) 映射数组(遍历数组),有return 返回一个新数组
callback的参数: value --当前索引的值
index --索引
array --原数组
let arr = [1,2,3,4,5] arr.map( (value,index,array)=> value = value * 2 console.log(`value:$value index:$index array:$array`) ) console.log(arr)
ps: arr.forEach()和arr.map()的区别
1. arr.forEach()是和for循环一样,是代替for。arr.map()是修改数组其中的数据,并返回新的数据。
2. arr.forEach() 没有return arr.map() 有return
7 arr.filter(callback) 过滤数组,返回一个满足要求的数组
let arr = [1,2,3,4,5] let arr1 = arr.filter( (i, v) => i < 3) console.log(arr1) // [1, 2]
8 arr.every(callback) 依据判断条件,数组的元素是否全满足,若满足则返回ture
let arr = [1,2,3,4,5] let arr1 = arr.every( (i, v) => i < 3) console.log(arr1) // false let arr2 = arr.every( (i, v) => i < 10) console.log(arr2) // true
9 arr.some() 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture
let arr = [1,2,3,4,5] let arr1 = arr.some( (i, v) => i < 3) console.log(arr1) // true let arr2 = arr.some( (i, v) => i > 10) console.log(arr2) // false
以上是关于数组的方法 forEach filter map slice splice的主要内容,如果未能解决你的问题,请参考以下文章
ES5新增的常用数组方法(forEach,map,filter,every,some)
ES5新增 数组操作forEach()map()filter()some()every()
ES5新增 数组操作forEach()map()filter()some()every()