数组基本使用方法

设一个数组

let arr=[{"id":1,"name":"王"},{"id":2,"name":"李三"},{"id":3,"name":"孙"}]

let add=[{"id":4,"name":"钱"},]

数组添加

arr.push(add),默认在尾部添加

arr.unshift(add)默认在头部添加

数组删除

arr.pop()在末尾删除

arr.shift()在头部删除

arr.splice(2,1)包含开头不包含结尾(也可替换)

数组截取

arr.slice(2,1),包含开头不包含结尾

数组查找

arr.findIndex(item=>item.id==2)返回的是数组的下标

数组模糊查找

arr.filter((item,index)=>{

        return item.indexOf(item.name=="三")

})

数组排序

  • 数组从小到大排序

let arr =[1,9,4,8,44,33,2]

arr.sort()如果单纯使用数值过多会产生数值错乱

arr.sort(function(num1, num2) {

        // num1, num2: 代表的是数组中的元素

        return num1 - num2

})

  • 数组降序序或者升序sort()

const products = [ {   "num": 200 },{   "num": 500 },{   "num": 20 },{   "num": 100 }]

//升序

products.sort((a, b) => a.num - b.num);

//降序

products.sort((a, b) => b.num - a.num)

数组替换

arr.splice(startIndex, num, ...item)

startIndex: 开始下标

num:要替换的数组的个数

item: 要替换的数组元素(剩余参数

数组连接

arr3=arr1.concat(arr2)

数组循环

arr.forEach((item,index)=>{

})

判断数组中的元素是否存在

arr.includes('数组中的元素')

如果元素存在,返回的是元素的下标,否则返回的-1

数组中的元素是否满足条件

arr.every((item, index, arr) => '表达式')

如果数组中的元素都不满足条件,返回false;只要有一个元素满足条件,返回true

数组的映射方法

arr.map((item, index, arr) => '表达式')

数组的迭代方法

  • 数组元素求和:

  • arr.reduce((initailValue, item, index, arr) => '表达式', '可选的参数initial')

    如果reduce的第二个参数不存在:initailValue的值为数组的第一个元素

    如果reduce的第二个参数存在:initailValue的值为reduce函数的第二个参数

const res = arr.reduce(function(num, item) {

        console.log(num)

        return num + item;

})

  const [count, setCount] = useState([
            {id:1,price:200},
            {id:2,price:300},
            {id:3,price:400},
            {id:4,price:500},
  ])
  let co=count.reduce((a,b)=>a+b.price,0)
  console.log(co);

  • 数组的去重:

const arr3 = [1, 3, 2, 1, 5, 10, 5, 8]

function fn(dex){

        let arr=[]

        dex.forEach(item=>{

                return arr.includes(item)?'':arr.push(item)

        })

        return arr

}

方法二://es6方法 Set去重

        function fn(dex){

                return Array.form(new Set(dex))

        }

数值操作

        
        百分比统计  Math.round(33.333)//默认整数,返回  33

        绝对值          Math.abs(-33)//返回 33

        向上取整       Math.ceil(3.25)//返回  4

        向下取整       Math.floor(3.25)//返回  3

        四舍五入       Math.round(3.25)//返回 4 

        开平方           Math.sqrt(9)//返回   3

        取最大值       Math.max(5,8,7)//返回  8

        取最小值       Math.min(6,9,2)//返回  2

        取随机数        int(Math.random()*10)+10  //10-20的数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值