zoukankan      html  css  js  c++  java
  • javascript数组常用API

    Array

    语法

    [element0, element1, ..., elementN ]

    new Array ( element0 , element1 [ , ... [ , elementN ] ] )

    new Array ( arrayLength )

    属性

    • Array.length     Array构造函数的length属性,其值为1(注意该属性为静态属性,不是数组实例的length属性)
    • Array.prototype  数组的原型对象,可以为所有数组对象添加属性

    方法

    • Array.isArray()  判断某个变量是否为一个数组对象
    • Array.from()     从类数组对象或者可迭代对象中创建一个新的数组实例
    • Array.of()       根据一组参数来创建新的数组实例,支持任意的参数数量和类型

     

    数组实例

    属性

    • Array.prototype.constructor   

    所有的数组实例都继承了这个属性,它的值就是Array,表明了所有的数组都是由Array构造出来的

    • Array.prototype.length        

    因为 Array.prototype 也是个数组,所以它也有 length 属性,这个值为 0,因为它是个空数组

    方法 

    • Array.prototype.push(value,...)   添加元素到数组的末尾,并返回添加新元素后的数组长度
    • Array.prototype.pop()             删除数组末尾的元素,并返回该元素
    • Array.prototype.unshift(value)    添加元素到数组的头部,并返回添加新元素后的数组长度
    • Array.prototype.shift()           删除数组最前面(头部)的元素,并返回该元素(shift:改变、去掉、转移)
    • Array.prototype.slice(start_index,upto_index) 

    抽取原数组的一部分,返回一个新数组,原数组不变。 (slice:切片、切下)

    第一个参数为其实位置(从0开始),第二个参数为终止为止(但该位置的元素本身不包含在内)。若省略第二个参数,则一直返回到原数组的最后一个元素。负数表示倒数第几个元素

    • Array.prototype.splice(index,remove_count, addElement1,addElement2,...)    

    在任意的位置给数组删除或添加任意个元素,返回值是被删除的元素。(splice:胶接、粘接、剪接)

    第一个参数是删除的起始位置,第二个参数是被删除元素的个数,若后面还有更多的参数,它们是要在被删除的位置添加的新数组元素

    • Array.prototype.indexOf(item,index

    返回数组中第一个与指定值相等的元素的索引,如果找不到则返回 -1。第二个参数表示搜索的开始位置

    • Array.prototype.lastIndexOf()     

    返回数组中最后一个(从右边数第一个)与指定值相等的元素的索引,如果找不到这样的元素,则返回 -1

    • Array.prototype.includes()        

    判断当前数组是否包含某指定的值,如果是返回true,否则返回false

    • Array.prototype.concat(value,...) 

    合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组(浅拷贝)

    • Array.prototype.join(separator  

    返回以参数作为分隔符,将所有数组元素组成的一个字符串;若不提供参数,则默认用逗号分隔

    • Array.prototype.sort([compareFunction])

    对数组成员进行排序,默认无参是按照字典顺序(Unicode)排序。排序后,原数组将被改变。

    若传入一个函数作为参数,表示按照自定义方法进行排序。该函数本身接受两个参数,表示进行比较的两个元素。如果返回值大于0,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。

    • Array.prototype.reverse()         

    颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个 

    • Array.prototype.toLocaleString()
    返回一个由所有数组元素组合而成的本地化后的字符串。遮蔽了原型链上的 Object.prototype.toLocaleString() 方法
    • Array.prototype.toString()
    返回一个由所有数组元素组合而成的字符串。遮蔽了原型链上的Object.prototype.toString()方法
    迭代方法:
    • Array.prototype.forEach(function(item, index, array){...})  

    遍历数组的所有成员。参数是一个函数,它接受三个参数(当前位置的值、当前位置的编号和整个数组) 

    • Array.prototype.map(function(item, index, array){...})

    默认(无参)对数组的所有成员依次调用一个函数,根据函数结果返回一个新数组

    map方法接受一个函数作为参数。该函数有三个参数,分别是当前成员、当前位置和数组本身

    • Array.prototype.every()    

    如果数组中的每个元素都满足测试函数,则返回 true,否则返回 false

    • Array.prototype.some()     

    如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false

    • Array.prototype.filter()

    将所有在过滤函数中返回 true 的数组元素放进一个新数组中并返回 

    • Array.prototype.reduce()

    从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值

    • Array.prototype.reduceRight()

    从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值

    • Array.prototype.find()

    找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回 undefined

    • Array.prototype.findIndex()

    找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回 -1

    • Array.prototype.keys()

    返回一个数组迭代器对象,该迭代器会包含所有数组元素的 

    • Array.prototype.values()

    返回一个数组迭代器对象,该迭代器会包含所有数组元素的

    • Array.prototype.entries()

    返回一个数组迭代器对象,该迭代器会包含所有数组元素的键值对

     
    Array.prototype[@@iterator]()
    get Array[@@species]

    例子:

    1.slice()    可以把slice当作创建当前数组的子数组。slice返回一个新的数组

    它的参数代表数组的位置,当只有一个参数时返回从该位置到数组末尾的子数组,当有两个参数时返回起始位置到结束位置-1的子数组

    var arr=["red","green","blue","yellow"];
    var arr1=arr.slice(1);
    var arr2=arr.slice(1,3);
    console.log(arr1);//["green","blue","yellow"]
    console.log(arr2);//["green","blue"]

    2.splice()    splice既可以实现删除,也可以实现插入,还可以实现替换。splice在原数组上进行修改,并返回删除的项

    它接受三个参数:要删除的第一项的位置,要删除的项数,要替换的新数据。如果指定前两个参数就可以实现删除,如果指定三个参数并且第二个参数为0,就是实现了插入,如果指定了三个参数就实现了替换。。

    var arr=["red","green","blue","yellow"];
    arr.splice(0,2);//删除数组中的前两项
    console.log(arr);//["blue","yellow"]
    arr.splice(0,0,"red","green");//插入
    console.log(arr);//["red","green","blue","yellow"]
    arr.splice(0,1,"black");//替换掉第一个元素
    console.log(arr);//["black","green","blue","yellow"]



    摘自:https://microzz.com/2017/04/20/jsobject/

             https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

             https://www.jianshu.com/p/962ffdae7bd8

  • 相关阅读:
    模拟赛12-10
    uva-11235
    中国剩余定理
    待学算法
    A
    动态逆序对
    [BZOJ3011][Usaco2012 Dec]Running Away From the Barn
    题目1007:奥运排序问题(结构体排序)
    题目1006:ZOJ问题(字符串处理)
    题目1005:Graduate Admission(结构体排序)
  • 原文地址:https://www.cnblogs.com/dxchen/p/9296300.html
Copyright © 2011-2022 走看看