1.数组的方法
    map map有返回值 并且返回新数组
    forEach // forEach没有返回值 不改变原数组
    filter /filter有返回值 不改变原数组
    some // some有返回值 不改变原数组 全为false 则会false 一个为true 则为true
    every // every有返回值 不改变原数组 都为true才返回true 否则返回false
    reduce // reduce 有返回值 一个新的元素 里面total 上一次回调函数返回的值
    sort // 有返回值 改变了原数组
    concat // 有返回值 不改变原数组
    find // 有返回值 不改变原数组 返回条件符合的第一项元素
    findIndex // 有返回值 不改变原数组 返回条件符合的第一项下标
    push // 有返回值 返回的是新数组的长度
    pop // 有返回值 返回的是删除掉的元素 只能删除最后一个
    unshift // 有返回值 返回新数组的长度 向前添加
    shift // 有返回值 返回删除的元素 只能删除第一个
    flat 手动写一个flat函数
    set数据格式
    并集 :两个数组合在一起叫做并集
    交集 :属于第一个数组并且属于第二个数组的元素
    差集 :属于第一个数组而不属于第二个数组的元素