下面每个方法都有例子,可以把代码注释解开,然后运行案例。
- push()
- pop()
- shift()
- unshift()
- splice()
- filter()
- concat()
- slice()
- map()
- isArray()
- forEach()
- reduce()
- every()
- indexOf()
// 直接改变数组的方法 push()pop()shift()unshift()splice()
let arr = ['aaa','bbb','ccc']
// arr.push('111') //在数组尾部添加一项
// console.log(arr); //["aaa", "bbb", "ccc", "111"]
// arr.pop() //移除数组最后一项
// console.log(arr); // ["aaa", "bbb"]
// arr.shift() //移除数组第一项
// console.log(arr); // ["bbb", "ccc"]
// arr.unshift('222') //在数组头部添加一项
// console.log(arr); //["222", "aaa", "bbb", "ccc"]
// arr.splice(0,1) //第一个参数是删除的索引,第二个是删除的长度
// console.log(arr); //["bbb", "ccc"]
let arr1 = [2,1,4,7,3,5,6]
// arr1.sort() //数组按小到大排序
// console.log(arr1); // [1, 2, 3, 4, 5, 6, 7]
// arr1.reverse() //将数组的元素进行倒叙
// console.log(arr1); //[6, 5, 3, 7, 4, 1, 2]
// 都会返回一个新的数组的方法 filter()concat()slice()map()
let arr2 = [1,2,3,4,5,6,7,8,9]
// // filter是过滤的意思,功能:过滤去偶数的项
// let newArr2 = arr2.filter((x)=>{
// // x是数组中的每一个项
// return x % 2 ==0
// })
// console.log(newArr2); //[2, 4, 6, 8]
// contact是合并的意思,功能:可以用来合并两个数组
// let newArr2 = arr2.concat(['ddd','333','eee'])
// console.log(newArr2); // [1, 2, 3, 4, 5, 6, 7, 8, 9, "ddd", "333", "eee"]
// slice是切片的意思,功能:可以用来截取数组中的一段,第一个参数是开始截取索引(取该元素),第二个是结束的截取索引(不取该元素)
// let newArr2 = arr2.slice(3,7)
// console.log(newArr2); // [4, 5, 6, 7]
// map是地图的意思,功能:可以用来处理数组中的数据,返回一个新的数组
// let newArr2 = arr2.map((x)=>{
// // x是数组中的每一个项
// return x*x
// })
// console.log(newArr2); //[1, 4, 9, 16, 25, 36, 49, 64, 81]
// 其他数组方法 isArray()forEach()reduce()every()indexOf()
// isArray是否是一个数组,传入要判断的变量作为参数,功能:用来判断变量是否是一个数组
// console.log(Array.isArray(arr2)); //true
// forEach是一个for循环,功能:用于遍历数组
// arr2.forEach((x) =>{
// // x是数组中的每一个项
// console.log(x); //依次打印出1-9
// })
// reduce是减少的意思,功能:对数组中的每个元素执行函数,生成一个值(简便使用就是对数组元素求总和)
// prev上一次调用回调返回的值,或者是提供的初始值
// curr数组中当前被处理的元素
// index当前元素在数组中的索引
// array调用的数组
// let sum = arr2.reduce((prev,curr,index,array)=>{
// console.log(prev,curr,index);
// return prev + curr
// })
// // 输出传入的数组和数组每项相加的结果
// console.log(arr2,sum); //[1, 2, 3, 4, 5, 6, 7, 8, 9] 45
// every是每个的意思,功能:用于检查数组中每个元素是否符合函数的条件,如果其中有一个不符合,则返回false
// let newArr2 = arr2.every((x)=>{
// // return x % 2 == 0
// return x>0
// })
// console.log(newArr2); //false true
// indexOf,功能:用于在数组中查找元素,并把元素的位置返回来。
let index = arr2.indexOf(3)
console.log(index); //2