List数组方法

        let arr1=[1,2,3,4,3];
        let arr2=["one"];
        let arr3;
        // arr1.pop()  // 删除数组最后一项元素,[1, 2, 3, 4]
        // arr1.push(0)  // 在数组末尾添加新元素,[1, 2, 3, 4, 3, 0]
        // arr1.shift()  // 删除数组第一项元素,[2, 3, 4, 3]
        // arr1.unshift(0)  // 在数组开始添加新元素, [0, 1, 2, 3, 4, 3]
        // arr3=arr1.slice(1,2)  // 截取数组,不改变原数组,slice(x,y),数组下标x < = 新数组 < 数组下标y,[2]
        // arr1.splice(1,2)  // splice(x,y," "),从数组下标x开始,删除y个元素,添加" ",[1, 4, 3]
        // arr1.reverse()  // 反序,[3, 4, 3, 2, 1]
        // arr1.sort((a,b)=>a-b)  // 排序,从小到大,[1, 2, 3, 3, 4],反之b-a
        // arr3=arr1.concat(arr2)  // 拼接数组,不改变原数组,[1, 2, 3, 4, 3, "one"]
        // arr3=[...arr1,...arr2]  // 拼接数组,不改变原数组,[1, 2, 3, 4, 3, "one"]
        // console.log(arr1.indexOf(9))    // 查找元素下标,有则返回下标,若无则返回-1,返回第一个查找到的元素,-1
        // console.log(arr1.lastIndexOf(3))    // 倒序查找元素下标,有则返回下标,若无则返回-1,返回第一个查找到的元素,4
        let str=arr1.join('-')   // 数组转string,以'-'隔开,1-2-3-4-3
        arr3=str.split('-')   // string转数组,以"-"分割,["1", "2", "3", "4", "3"]

基本方法 

一、filter 过滤,只返回符合条件的item,组成一个新数组

let arr = [1, 2, 3, 4, 5, 6]
    arr=arr.filter(item=>{
        return item>2
    })
console.log(arr) // arr=[3,4,5,6]

 二、map 返回指定值,无返回值时返回undefined,组成一个新数组

    let arr = [1, 2, 3, 4, 5, 6]
    arr = arr.map(item => {
        if(item>2){
            return item
        }
    })
    console.log(arr) // arr=[undefined, undefined, 3, 4, 5, 6]

 三、some 返回布尔值,有一个符合要求的值时中止循环返回true,全部符合时返回false

    let arr = [1, 2, 3, 4, 5, 6]
    arr = arr.some(item => {
        return item > 2
    })
    console.log(arr) // arr=true

 四、every 返回布尔值,全部符合要求时返回true,否则false

    let arr = [1, 2, 3, 4, 5, 6]
    arr = arr.every(item => {
        return item > 2
    })
    console.log(arr) // arr=false

 五、find 返回符合要求的第一个item,全都不符合时返回undefined

    let arr = [1, 2, 3, 4, 5, 6]
    arr = arr.find(item => {
        return item > 2
    })
    console.log(arr) // arr=3

 六、reduce 用于对数组中的每个元素执行一个由你提供的“reducer”函数(即累加器),从而将数组减少为单个值。这个值是作为最终结果返回的

const numbers = [1, 2, 3, 4, 5];

const sum = numbers.reduce((accumulator, currentValue) => {
  return accumulator + currentValue;
}, 0); // 初始值为 0

console.log(sum); // 输出:15

活学活用

var a = [1, 2, 4]
    var b = [3, 4]
    //交集
    var c = a.filter(function (v) { return b.indexOf(v) > -1 })
    console.log(c)  // [4]
    //差集
    var d = a.filter(function (v) { return b.indexOf(v) == -1 })
    console.log(d)  // [1,2]
    //并集
    var e = a.concat(b.filter(function (v) { return !(a.indexOf(v) > -1) }));
    console.log(e)  // [1,2,4,3]
    //数组对象差集
    var f = [{ id: 1, name: 'a' }, { id: 2, name: 'b' }]
    var g = [{ id: 1, name: 'a' }]
    var h = [...f].filter(x =>
        [...g].every(y => y.id !== x.id)
    )
    console.log(g)  // [{id:1,name:'a'}]
    // 判断数组a中的每个元素是否都在数组b中存在
    let i =
        a.every(v => {
            return b.includes(v)
        })
    console.log(i)  // false

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值