目录
- splice()方法
- join()方法
- reverse()方法
- every()方法
- reduce()方法
- filter()方法
- findIndex()方法 和find()方法
- findIndex()
- find()
- forEach()方法
- some()方法
- indexOf()方法
- sort ()方法
- push()方法
- pop()方法
- unshift()方法
- shift()方法
splice()方法
截取替换数组
第一个参数是起始位置,第二个是截取的个数,第三是替换的元素 ,返回值是截取的元素,原数组是剩余的元素。
join()方法
数组转字符串
()里的是以什么来连接,如果输入空字符串join('')则直接拼接不分割
例如:
let aaa = [1,2,3] let bbb = aaa.join('-') let ccc = aaa.join('0') console.log(bbb) // '1-2-3' console.log(ccc) //'10203'
reverse()方法
翻转数组
arr.reverse() 翻转数组,返回值是翻转好的数组
every()方法
查找数组不符合条件的
遍历检测数组的每一项 如果有一项不符合你定义的条件 则返回false 剩余的不再执行 ,只有每一项都符合条件 才返回true
第一个参数是数组的每一项,第二个是索引 第三个是当前数组
例:
arr:[121,3322,3215,3549,6899,46456] arr.every(function(item,index,array){ return item>2000 //检测数组的每一个值是否大于2000 }) //结果是false 除非数组每个值都大于2000 才是true
reduce()方法
求累加的值
可以将前面数组项遍历产生的结果与当前遍历项进行运算
第一个参数是 累计器(保存第二个值返回回来的结果)prev
第二个值是当前正在处理的值(遍历数组重头到尾)cur
第三个索引 index
第四个当前数组 arr
第五个 初始值 (函数后面)init
例:
var arr = [3,9,4,3,6,0,9]; var sum = arr.reduce(function (prev, cur) { return prev + cur; },0);//由于初始值是0 也就是prev刚开始的值是0 索以运算起来就是 0+3=3 3+9=12 12+4=16 .... 每次得到的结果都会被prev存储进行下一次运算 这就是最简单的reduce求和
filter()方法
遍历并筛选数组
第一个参数是数组的每一项,第二个是索引 第三个是当前数组
它会遍历数组 按你定义的条件筛选你定义的条件 并且返回一个新数组,新数组里装着所有满足条件的元素
例:
var arr=[1,3,5,7,8] var sum = arr.filter(function(value,index,arr){ return value >3 //筛选arr数值中 大于3的元素 }) console.log(sum) //返回的值是[5,7,8]
findIndex()方法 和find()方法
findIndex()
找出第一个满足条件的数组成员的索引 找不到返回-1
对于空数组,函数是不会执行的并没有改变数组的原始值。
find()
find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined
查找函数有三个参数:
value:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。
forEach()方法
遍历循环数组
第一个值是每个参数
第二个值是索引
第三个是数组本身
多用于遍历数组里的元素
arr:[1,2,3] arr.forEach(function(item,index,array){ console.log(item) //1,2,3 })
some()方法
检测数组中的元素是否满足条件,用于查找唯一的值 返回true 或false
var a = arr.some(function(item,index,array){ return item>3 //检测是否有大于3的元素,有则返回true,没有则返回false })
只要找到一个满足条件的元素则终止循环 在some里面 遇到了return trun 就会终止循环
indexOf()方法
查找数组是否存在某个元素,返回下标。返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
参数
第一个参数(必须):被查找的元素
第二个(可选):开始查找的位置(不能大于等于数组的长度,返回-1),接受负值,默认值为0。
严格相等的搜索:
数组的indexOf搜索跟字符串的indexOf不一样,数组的indexOf使用严格相等===搜索元素,即数组元素要完全匹配才能搜索成功。
sort ()方法
参数可选: 规定排序顺序的比较函数。
默认情况下sort()方法没有传比较函数的话,默认按字母升序,如果元素不是字符串的话,会调用toString()方法将元素转化为字符串的Unicode(万国码)位点,然后再比较字符。
// 字符串排列 首字母 var a = ["Banana", "Orange", "Apple", "Mango"]; a.sort(); // ["Apple","Banana","Mango","Orange"] // 数字排序的时候 因为转换成Unicode字符串之后,有些数字会比较大会排在后面 var a = [10, 1, 3, 20,25,8]; console.log(a.sort()) // [1,10,20,25,3,8];
push()方法
push 向数组末尾添加新元素(可一次性添加多个)
返回值:新数组的length (长度)
const aa = [1,2,3] aa.push(5,6) console.log(aa) // [1,2,3,5,6]
pop()方法
尾部删除一个 返回值是被删除的元素
unshift()方法
头部添加, 返回值是数组长度
shift()方法
头部删除元素 返回值:被删除的元素
以上就是JS数组中常用方法技巧学会进阶成为大佬的详细内容,更多关于JS数组中常用方法技巧的资料请关注自由互联其它相关文章!