数组常用的方法

数组常用的方法

  • 1. join() 可以把数组转为指定分隔符号的字符串,返回该字符串
    var arr1 = [1,2,3,4]
    arr1 = arr1.join("@")
  • 2. concat() 可以合并多个数组,返回一个新的数组
    var arr2 = [1,2,3]
    var arr3 = ["a","b","c"]
    var a = arr2.concat(arr3,["a1","b1","c1"]) // 依次合并arr2,arr3,。。。并返回合并后的数组
  • 3. reverse() 倒序数组,将原来的数组倒序,并返回倒序后的数组
    var ar1 = [1,2,3,4]
    ar1 = ar1.reverse()
  • 4. slice(startIndex[,endIndex]) 截取数组中的一部分,返回截取的数组,原数组不变。 startIndex是开始解析的下标,endIndex是结束下标(如果省略则是截取到末尾)
    var ar2 = [1,2,3,4,5]
    ar1 = ar2.slice(1,3) // 截取下标1-3之间的元素,不包含3

  • 5. forEach(function(item,index){}) // 数组遍历元素的方法,参数是一个回调函数,回调函数的item参数则是遍历的数组元素,里面不能用breakitem是当前元素,index是索引
    var ar3 = [1,2,3,4,5]
    ar3.forEach(function(item){// item是数组的元素
    console.log(item)
    })

  • 6. map(function(item,i){return item}) 遍历数组元素,forEach类似,但是会返回一个新的数组,新数组的元素则是回调函数返回的值。item是当前元素,index是索引
    var ar4 = [1,2,3,4,5]
    var c = ar4.map(function(item){// item是数组的元素
    console.log(item)
    return item+"a" // 把return的元素作为新数组的元素,通过map返回。如果不返回值,默认返回的是
    undfined
    })
    console.log(c, ar4)

  • 7. fifilter(function(item){return boolean}) 过滤数组成员,并返回新的数组。如果返回值为true,则把该元素作为新数组的成员。
    var ar5 = [1,2,3,4,5,6]
    var d = ar5.filter(function(item,index){
    return item % 2 === 0 // 能被2整除是偶数,返回true,item元素会作为新数组从成员。
    })
  • 8. reduce(function(a,b){}) 依次处理数组成员,最终累计为一个值。
    第一次遍历 : a 是数组的第一个元素, b 是数组的第二个元素
    第一次以后 : a 是上一轮的返回值 , b 则是遍历的 n +1 个元素
    一般用于求数组所有元素累计的和值
    var ar5 = [1,8,3,4,9,2]
    var count = ar5.reduce(function(a,b){
    return a+b
    })
  • 9. sort() 数组排序,如果传回调函数,默认则是按照字典排序(默认字符的编码)
    sort(function(a,b){return a-b})
    a,b 是相邻两个元素,如果返回值大于 0 ,则第一个元素在第二个元素后面,否则就是第一个元素在第二个元素前面。 // a-b 是由小到大, b-a 由大到小
    var arr1 = [1,3,2,9,7,4]
    var arr2 = arr1.sort(function(a,b){return a-b})
    console.log(arr2)
    var arr3 = arr1.sort(function(a,b){return b-a})
    console.log(arr3)
    // 数组对象数据排序
    var arr3 = [{name:"张三",num:2},{name:"li si",num:1},{name:"wang",num:5},
    {name:"liu",num:3}]
    var arr4 = arr3.sort(function(a,b){return a.num - b.num})
    console.log(arr4)
  • 10. some() 根据条件判断数组元素是否成立
    some(function(el,index,arr){return boolean})
    el 是遍历的每个元素, index 是当前遍历元素的索引, arr 当前数组。只要有一个元素返回 true ,整个 some 方法返回true 。只要一个元素成立,整个 some 方法就成立
    var arr5 = [{name:"张三",num:2},{name:"li si",num:1},{name:"wang",num:5},
    {name:"liu",num:3}]
    // 查找数组里面是否有num=5的人,找到就返回true
    console.log(arr5.some(function(item){return item.num===7}))
  • 11. every() some()比较类似,但是所有成员返回true,才返回true。否则是false
    every(function(el,index,arr){return boolean})
    var arr6 = [1,3,9,5,7]
    // 判定数组里面是否都是奇数
    console.log(arr6.every(function(item){return item%2!==0}))
  • 12. indexOf(element) 查看元素在数组中第一次出现的位置,如果没有该元素就返回-1。一般用于判断数组里面是否包含某个元素
    var arr7 = [1,3,9,3,7]
    console.log(arr7.indexOf(10)) // 元素不存在返回-1
  • 13. lastIndexOf(eleent) 查看元素在数组中最后一次出现的位置,
    var arr8 = [1,3,9,3,7]
    console.log(arr8.lastIndexOf(3)) // 元素不存在返回-1
  • 14. 只要是返回值是一个新数组的都支持链式操作
    var ar = arra.map(function(item){
    item.age=12;return item
    }).sort(function(a,b){
    return a.num-b.num
    }).filter(function(item){return item.num!==3})
    console.log(ar)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值