/*
核心数组方法:
-1- push() 从后面添加
-2- pop() 从后面删除
-3- unshift() 从前面添加
-4- shift() 从前面删除
-5- reverse() 反转数据
-6- splice() 截取并添加
-7- sort() 数组排序
常用数组方法:(不改变原数组)
-8- join() 数组连接为字符串
-9- concat() 拼接数组
-10- slice() 截取数组
-11- indexOf() 查找数据库在数组中的索引
-11.5- lastIndexOf() 反向索引查找
高阶数组方法:
-12- forEach() 遍历数组
-13- map() 映射数组
-14- filter() 过滤数组
-15- every() 判断是否全部满足条件
-16- some() 判断是否有满足条件的项
-17- find() 查找数据
-18- findIndex()查找数据的索引
-19- reduce() 统计数组里面的所有元素的和
*/
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title> </head> <body> </body> </html> <script> /* 核心数组方法: -1- push() 从后面添加 -2- pop() 从后面删除 -3- unshift() 从前面添加 -4- shift() 从前面删除 -5- reverse() 反转数据 -6- splice() 截取并添加 -7- sort() 数组排序 常用数组方法:(不改变原数组) -8- join() 数组连接为字符串 -9- concat() 拼接数组 -10- slice() 截取数组 -11- indexOf() 查找数据库在数组中的索引 -11.5- lastIndexOf() 反向索引查找 高阶数组方法: -12- forEach() 遍历数组 -13- map() 映射数组 -14- filter() 过滤数组 -15- every() 判断是否全部满足条件 -16- some() 判断是否有满足条件的项 -17- find() 查找数据 -18- findIndex()查找数据的索引 -19- reduce() 统计数组里面的所有元素的和 */ // 准备一个原始数组 var arr = [100, 200, 300, 400] // 输出一次 console.log(arr); // 使用方法 /* -1- push() 从后面添加 */ // rse 返回值:的最新数组长度 // var res = arr.push('添加的') /* -2- pop() 从后面删除 */ // res 返回值:被删除的数据 // var res = arr.pop() /* -3- unshift() 从前面添加 */ // rse 返回值:的最新数组长度 // var res = arr.unshift('添加的') /* -4- shift() 从前面删除 */ // res 返回值:被删除的数据 // var res = arr.shift() /* -5- reverse() 反转数据 */ // res 返回值:被反转的数组 // var res = arr.reverse() /* -6- splice() 截取并添加 数组.splice(开始索引,多少个,要插入的数据) 默认 0 0 没有 作用:'删除'数组中若干数据,并选择是否'插入'新的数据 res返回值:以新数组的形式返回被删除的数据 */ // var res = arr.splice() // 返回空数组 // var res = arr.splice(1,1) // 开始索引1删除1个数据 // 返回值:被删除的数组 /* -7- sort() 数组排序 语法-1- 数组.sort() 语法-2- 数组.sort( function(a,b) {return a - b}) 语法-3- 数组.sort( function(a,b) {return b - a}) 返回值:排序好的数组 */ // var arr = [11,1,22,13,45,32,2] // console.log(arr); // var res = arr.sort() // 按位进行排序 结果: 1,11,13,2,22,32,45 // var res = arr.sort( function(a,b) {return a - b}) //从小到大 // var res = arr.sort( function(a,b) {return b - a}) //从大到小 /* -8- join() 数组连接为字符串 数组.join(连接符) 作用:将数组用'连接符'链接成为一个字符串 */ // var res = arr.join('-') // 结果:100-200-300-400 /* -9- concat() 拼接数组 语法:concat(其他数组) 返回值:拼接好的新数组 */ // var res = arr.concat([500,600]) /* -10- slice() 截取数组 */ // var res = arr.slice() // var res = arr.slice(1) // 从索引1开始截取 结果:200,300,400 // var res = arr.slice(1,3) // 从索引1开始截取到3 包前不包后 结果:200,300 /* -11- indexOf() 查找数据在数组中的索引 语法:indexOf(数据) 返回值:有该数据,返回该数据'第一次出现'的索引位置 没有该数据,返回-1 */ // var arr = [100,200,300,200] // var res = arr.indexOf(200) // var res = arr.indexOf(400) /* -12- forEach() 遍历数组 语法:数组.forEach(function(item,index,arr){}) 无返回值 */ /* arr.forEach(function (item, index, arr) { // item表示每一项 console.log(item); // index表示数组的索引 console.log(index); // arr就是原始数组 console.log(arr); // 输出一个分隔线 console.log("--------------"); }) */ /* -13- map() 映射数组 语法:数组.map(function(item,index,arr){}) 返回值:映射好的数组 */ /* var res = arr.map(function(item,index,arr){ // 以return 的方式书写映射条件 return item * 10 //每一项放大十倍 }) console.log(res); */ /* -14- filter() 过滤数组 语法:数组.filter(function(item,index,arr){}) 返回值:过滤好的新数组 */ /* var res = arr.filter(function(item,index,arr){ // 以return 的方式书写过滤条件 return item > 150 //过滤出大于150的数 }) console.log(res); */ /* -15- every() 判断是否全部满足条件 语法:数组.every(function(item,index,arr){}) 返回值:一个布尔值 */ /* var res = arr.every(function(item,index,arr){ // 以return 的方式书写条件 return item > 150 }) console.log(res);//false */ /* var res = arr.every(function(item,index,arr){ // 以return 的方式书写条件 return item > 50 }) console.log(res);//true */ /* -16- some() 判断是否有满足条件的项 语法:数组.some(function(item,index,arr){}) 返回值:一个布尔值 */ /* var res = arr.some(function(item,index,arr){ // 以return 的方式书写条件 return item > 150 }) console.log(res);//true */ /* var res = arr.some(function(item,index,arr){ // 以return 的方式书写条件 return item > 500 }) console.log(res);//false */ //输出一次数组 console.log(arr); //输出一次返回值 console.log(res); </script>