• JS数组的常用方法


    arr.join(str)

    • 把arr使用str拼接成字符串
    • str拼接符
    • 返回:String

    arr.reverse()

    • 翻转数组
    • 翻转操作的是原数组
    • 返回:Array数组

    arr.concat(arr1,arr2)

    • 把参数数组和源数组进行拼接,形成一个新的数组
    • 返回:Array

    arr.length

    • 数组的元素个数注意:真实的元素个数和length的值不一定相等,一个数组的length = 数组的最大索引值 + 1
    • 可读可写,这就意味着,我们可以对一个数组的length进行修改,如果length的值修改成小于现有数组索引的值,那么大于修改后的length的值将会被自动删除,所以,除非我们知道修改length所带来的问题,否则不要轻易的去修改length属性

    添加类

    arr.push(data1[data2...])

    • 向数组的尾部添加新的数据
    • 返回:Number,返回新数组的长度

    arr.unshift(data1[data2...])

    • 向数组的头部添加新的数据
    • 返回:Number,返回新数组的长度

    删除类

    arr.pop()

    • 删除数组的最后一个
    • 返回:被删除的元素
    • 返回类型:被删除元素的类型

    arr.shift()

    • 删除数组第一个
    • 返回:被删除的元素
    • 返回类型:被删除元素的类型

    arr.splice([start,count,data1...])

    • 删除数组指定位置的内容,并在删除的位置添加新的数据
    • start删除的起始位置,默认为0
    • count要删除元素的个数,默认为0
    • data1...要添加的新的元素
    • 返回:Array,被删除的元素

    arr.slice(start,end)

    • 截取从start位置开始到end位置结束,不包含end位置的元素
    • start截取的起始位置,默认为0
    • end截取的结束位置,默认数组的length
    • 返回:Array,被截取的元素

    循环类

    arr.forEach(callback)

    • 循环遍历数组元素
    • 当我们调用数组的forEach方法的时候,这个方法的内部会循环该数组,每次循环都会调用传入的callback
    • callback:函数,在forEach循环遍历的时候被调用
    arr.forEach(function(value,key){
    		console.log(key,value)
    	})
    	value:循环过程中对应的值
    	key:循环过程中对应的下标
    

    arr.map(callback)

    • 循环遍历数组元素
    • 目的:创建新数组
    • 根据已有的数组,创建一个结构类似的新数组
    • 返回:Array数组

    arr.filter(callback)

    • 循环遍历数组元素
    • 目的:创建新数组
    • 根据一个已有数组床架新数组,如果回调函数返回true,就保留当前循环的原始值,如果是false,就会丢弃
    • 保留下的是过滤后的原数组

    arr.sort(callback)

    • 默认根据unicode编码来排序
    • 我们可以传入一个回调函数来设置排序的规则
    • callback:回调函数,设置排序规则
      • 根据函数的return值来决定要不要交换位子
      • 排序:交换 小于等于0,不交换位子 大于0,交换位子

    arr.from(arr)

    • 用于将类数组对象转化为真正的数组

    arr.of(str1,str2,...)

    • 用于将一组参数转化为数组
    • 可以解决原始创建数组的方法中的一个问题:如果new Array(3),如果只是传入一个数字作为参数这个参数会被当做数组的长度,而不是内容

    arr.keys()

    • 用于for of对数组和键名的遍历
    • 语法
    for(let index of arr.keys()){}
    

    arr.entries()

    • 用于for of对数组键值对的遍历
    • 语法
    for(let [index,ele] of arr.entries()){}
    
  • 相关阅读:
    列举 spring 支持的事务管理类型?
    memcached 能够更有效地使用内存吗?
    Redis 集群方案什么情况下会导致整个集群不可用?
    详细描述一下 Elasticsearch 更新和删除文档的过程?
    Redis 常见性能问题和解决方案?
    如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
    synchronized 和 ReentrantLock 的区别?
    Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
    memcached 最大的优势是什么?
    memcached 是原子的吗?
  • 原文地址:https://www.cnblogs.com/Ivy-s/p/7484473.html
Copyright © 2020-2023  润新知