数组所有原型,数组方法

 

push()                   pop()                      concat()

constructor()         copyWithin()          entries()

keys()                   values()                  every()

fill()                       map()                     filter()

some()                 every()                    forEach()

find()                    findIndex()              includes()

indexOf()             join()                       lastIndexOf()

reduce()              reduceRight()          reverse()

shift()                  slice()                      sort()

splice()               toLocaleString()      unshift()

 

  Array.prototype.push  

push 用于向数组的末尾添加一个或多个元素,并返回新的长度;改变原数组的长度,将新的值添加在数组的尾部

var arr=["red","black","Momen"];
arr.push('hi')  // 4
console.log(arr)  // ["red","black","Momen","hi"]

 

  Array.prototype.pop  

删除一个数组中的最后的一个元素,并且返回这个元素

var arr=["red","black","Momen"];
arr.pop()  // "Momen"

 

  Array.prototype.concat  

concat()方法用于合并两个或多个数组。

此方法不改变原数组,而是返回一个新数组。

var arr=["red","black","Momen"];
var arr2=["hi"]
arr.concat(arr2)  // ["red","black","Momen","hi"]

 

  Array.prototype.constructor   

constructor 属性返回对象的构造函数

例:

JavaScript 数组 constructor 属性返回 function Array() { [native code] }

JavaScript 数字 constructor 属性返回 function Number() { [native code] }

JavaScript 字符串 constructor 属性返回 function String() { [native code] }

  Array.prototype.copyWithin  

copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。

array.copyWithin(target, start, end)
target    必需。复制到指定目标索引位置
start 可选。元素复制的起始位置
end 可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数

 

  Array.prototype.entries(),keys()和values()  

三个都是es6新增的方法

用于遍历数组。它们都返回一个遍历器对象,可以用for...of循环进行遍历

唯一的区别是:keys()是对键名的遍历

         values()是对键值的遍历

         entries()是对键值对的遍历

var arr=["red","black","Momen"];
        for(let item of arr.keys()){
            console.log('keys():',item)
        }
        for(let item of arr.values()){
            console.log('values():',item)
        }
        for(let item of arr.entries()){
            console.log('entries():',item)
        }

结果:

 

  Array.prototype.every  

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。

  Array.prototype.fill  

fill() 方法用于将一个固定值替换数组的元素。

  Array.prototype.map(),filter(),some(),every(),forEach()  

map():返回一个新的Array,每个元素为调用func的结果

filter():返回一个符合func条件的元素数组

some():返回一个boolean,判断是否有元素是否符合func条件

every():返回一个boolean,判断每个元素是否符合func条件

forEach():没有返回值,只是针对每个元素调用func

  Array.prototype.find(),findIndex()  

find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。

findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1

[1, 2, 3, 4].find((value, index, arr) => {})

查找函数有三个参数。

value:每一次迭代查找的数组元素。

index:每一次迭代查找的数组元素索引。

arr:被查找的数组。

 

  Array.prototype.includes  

includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

[1, 2, 3].includes(2);     // true
[1, 2, 3].includes(4);     // false
[1, 2, NaN].includes(NaN); // true

  Array.prototype.indexOf  

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

[1,2,3,4].indexOf(3)  // 2

  Array.prototype.join  

join() 方法用于把数组中的所有元素连接成一个字符串。

元素是通过指定的分隔符进行分隔的

[1,2,3].join('@')  // 1@2@3

  Array.prototype.lastIndexOf  

在整个一维 Array 中搜索指定的对象,并返回最后一个匹配项的索引。

[2,2,1,1,4,5,3,1,2].lastIndexOf(1)  // 7

 

  Array.prototype.reduce(),reduceRight()  

reduce() 方法接收一个函数 callback 作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值

array.reduce(callback[, initialValue])
function callback(accumulator, currentValue, currentIndex, array){}
  • accumulator : 上一次调用回调返回的值,或者是提供的初始值(initialValue)
  • currentValue : 数组中当前被处理的数组项
  • currentIndex : 当前数组项在数组中的索引值
  • array : 调用 reduce() 方法的数组 
    而 initialValue 作为第一次调用 callback 函数的第一个参数
var arr = [0,1,2,3,4];

arr.reduce(function (accumulator, currentValue, currentIndex, array) {
    return accumulator+ currentValue;
}); // 10

reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加

 

 

 

  Array.prototype.reverse  

reverse() 方法用于颠倒数组中元素的顺序

该方法会改变原来的数组,而不会创建新的数组

 

  Array.prototype.shift  

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值

 如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。

 

  Array.prototype.slice  

slice() 方法可从已有的数组中返回选定的元素,不改变原数组。

arrayObject.slice(start,end)

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

 

  Array.prototype.sort  

sort() 方法对数组的元素做原地的排序,并返回这个数组。 sort 排序可能是不稳定的。默认按照字符串的Unicode码位点(code point)排序

 

  Array.prototype.splice  

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

该方法会改变原始数组

arrayObject.splice(index,howmany,item1,.....,itemX)

                index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

         howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。

item1, ..., itemX:可选。向数组添加的新项目。

 

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

 

  Array.prototype.toLocaleString  

把数组转换为本地字符串。

首先调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串

 

["red","black","green"].toLocaleString()  //  red,black,green

 

  Array.prototype.toString  

可把数组转换为字符串,并返回结果(不会改变原数组)

 

  Array.prototype.unshift  

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

注意: 该方法将改变数组的数目。

提示: 将新项添加到数组末尾,可以使用 push() 方法。

 

 

 

 

 

 

 

 

 

posted @ 2018-07-17 22:25  诺基亚方舟  阅读(2035)  评论(0编辑  收藏  举报