• js数组常用方法


    一、数组常用方法

    1.Array.isArray(判断内容) 判断是否为数组,为数组返回true 不为数组返回false

    2. let arr2=Array.of(参数) 定义arr2为参数组成的数组

    3.let arr=Array.from(obj) 将对象装换为数组

    (生成新数组)

    4. 删除元素

    arr.pop()删除数组最后一个元素pop

    arr.shift() 删除数组第一个元素shift()

    5.添加元素 

        arr.push(添加内容)后面添加push()

    arr.unshift(1)前面添加unshift()

     6反转数组arr.reverse()

    7.arr.splice()删除,添加替换数组

    2个参数   删除

    arr.splice(起始位置,底位置);

    3个参数 添加或者替换

    arr.splice(开始位置,长度,替换或者添加元素);

    arr.splice(0,0,100);   在开始位置添加100

    arr.splice(0,1,100);  替换0~1即第一个位置元素,替换为100

    arr.splice(-1,0,500)  倒数第二个位置添加500的数

    arr.splice(-1,1,600)替换最后一个元素为600

     8.arr.sort() 排序问题  默认升序排序,即从小到大

    (1)数组元素为数字,排序

    arr.sort((a,b)=>a-b);升序 从小到大

    arr.sort((a,b)=>b-a);降序 从大到小

    (2)数组元素为字符串,直接调用arr.sort() 方法

    (3)数组对象

    9.arr.copyWithin()  复制并改变数组

    arr.copyWithin(index,start,end);

    10.arr.fill(value,start,end)填充改变数组

    11. arr.slice(start,end)  拷贝数组元素

     12 arr.join() 将数组转换为字符串

    13 arr.concat()连接数组

    14 arr.toString()数组转换为字符串

    15 arr.indexOf()  查询元素是否存在

    arr.indexOf("查询元素",查询开始位置);不存在返回-1,存在返回下标位置

    15 arr.lastIndexOf(value,index)  逆向查找

    index为倒数第几开始查找

    若有多个,返回最后一个元素位置,不然不存在返回-1

     16 arr.includes(value,index) 结果返回布尔值

     二、数组遍历方法

    1.arr.forEach()遍历元素

    1. arr.forEach((value,index)=>{
    2. console.log('值为'+value);
    3. console.log('下标为'+index);
    4. });

    2.arr.some()检测数组中是否满足条件的值,拥有一个就可以

    1. //检数组中是否有大于888的值。若有返回true,否则返回false
    2. arr.some(value=>value>888);

    3.arr.every()检测数组中是否全部满足条件

    1. let arr=[1,2,3,4];
    2. arr.every(value=>value>0) //返回true,全部满足条件
    3. arr.every(value=>value>2) //返回false,只有部分满足条件

    4.arr.filter()过滤数组  返回新数组

    5.arr.map()对每个元素进行处理,返回新数组

     6.keys() 遍历键名 ,values() 遍历键值, entries() 遍历键值对  

    1. arr=['a','b','c'];
    2. for(let i of arr.keys()){
    3. console.log(i)//keys()遍历下标 0 1 2
    4. }
    5. for(let item of arr.values()){
    6. console.log(item)//values()遍历值 a b c
    7. }
    8. for (let [i,item] of arr.entries()){
    9. console.log(i,item)//entries()遍历下标以及内容
    10. }

     keys    values   entries

    7.reduce()数组的累加器,合并成为一个值。
    语法 arr.reduce((total, value, index, arr), init)

    参数 total(必须):初始值,之后为上一次回调的返回值。

     value(必须): 数组元素的值。

     index(可选): 索引值。

    arr(可选): 数组对象。

     init(可选): 初始值。

    返回值 :累加后的值

    1. let arr = [1,2,3,4,5]
    2. let sum = arr.reduce((total,value)=>total +value)
    3. console.log(sum)//15

     找出数组中有几个元素

     8.find() / findIndex() 根据条件找到数组成员 [ES6]
    语法arr.find(function(value, index, arr), this);

    参数值同froEach一样

    返回值: find()返回第一个符合条件的数组成员,若不存在返回undefined。 findIndex()返回符合条件的数组成员的索引。

    1. let arr= [1,2,3,4,5]
    2. let result = arr.find(item=>item>3)
    3. console.log(result)//4 第一个值
    4. let result1 = arr.findIndex(item=>item>3)
    5. console.log(result1)//3 第一个值的下标

    9. arr.flat() 深度遍历展开数组

    数组去重排序

    1. let arr = [1,3,2,4,8,6,[5,1,3,5,9,10,5,[1,5,3,6,7,8,11,7,66]]]
    2. let newarr = Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>a-b)
    3. console.log(newarr)//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 66]

    数组打乱

    1. var arr = [1,2,3,4,5,6,7,8,9]
    2. for(let i =0;i<arr.length;i++){
    3. let sum = parseInt(Math.random()*(arr.length-1))
    4. let copyarr = arr[i];
    5. arr[i] = arr[sum]
    6. arr[sum] = copyarr
    7. }
    8. console.log(arr)

    参考博文

    都是搬运博主学习,但做笔记比较熟点

  • 相关阅读:
    y56.第三章 Kubernetes从入门到精通 -- 业务镜像版本升级及回滚(二九)
    python-基本数据类型-笔记
    [二进制漏洞]栈(Stack)溢出漏洞 Linux篇
    9月7日作业
    SpringCloudAlibaba - 项目完整搭建(Nacos + OpenFeign + Getway + Sentinel)
    CDR插件开发之Addon插件007 - Addon插件简介和案例演示
    详解哈希,理解及应用
    防御式编程之断言assert的使用
    基于51单片机的教室智能照明灯控制系统光控人数检测
    Redis的各数据类型及其用法
  • 原文地址:https://blog.csdn.net/enhenglhm/article/details/122949216