您的位置:首页 > Web前端 > JavaScript

js中数组Array的一些常用方法总结

2017-10-15 11:23 986 查看
Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法,感兴趣的朋友可以了解下

var list = new Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法。 

list[0] = 0; 

list[1] = 1; 

list[2] = 2; 

或者这样声明:var list = [0,1,2] 

1 shift()t:删除数组的第一个元素,返回删除的值。这里是0 

2 unshift(3,4):把参数加载数组的前面,返回数组的长度。现在list:中是3,4,0,1,2 

3pop():删除数组的最后一个元素,返回删除的值。这里是2. 

4push(3):将参数加载到数组的最后,返回数组的长度,现在List中时:0,1,2,3 

5concat(3,4):把两个数组拼接起来。 

6splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... (操作数组本身)

splice有很多种用法,比如:删除、插入和替换。

var colors=["red","green","blue"];

var removed=colors.splice(0,1)                       //输出第一项

alert(colors);                //green,blue

alert(removed);            //red,返回的数组中只包含一项

removed=colors.splice(1,0,"yellow","orange");  //从位置1开始插入两项

alert(colors);       
        //green,yellow,orange,blue

alert(removed); 
          //返回的是一个空数组

removed=colors.splice(1,1,"red","purple");       //从位置1开始插入两项

alert(colors);                //green,red,purple,orange,blue

alert(removed);            //yellow,返回的数组中只包含一项

reverse:将数组反序 
var a = [1,2,3,4,5]; 
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1] 

sort(orderfunction):按指定的参数对数组进行排序 
var a = [1,2,3,4,5]; 
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5] 

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组 (不操作数组本身)
var a = [1,2,3,4,5]; 
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5] 

join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符 
var a = [1,2,3,4,5]; 
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"

ECMA5数组的新方法
位置方法 indexOf() lastIndexOf()
迭代方法 every filter forEach some map
缩小方法 reduce refuceRight

位置的方法
str.indexOf(searchValue, fromIndex)
searchValue
一个字符串表示被查找的值。
fromIndex 可选
表示调用该方法的字符串中开始查找的位置。可以是任意整数。默认值为 0。如果 fromIndex < 0 则查找整个字符串(如同传进了
0)。如果 fromIndex >= str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length。
返回值
指定值的第一次出现的索引; 如果没有找到 -1。

lastIndexOf()同indexOf();

迭代的方法
every()
句法
arr .every(callback
[,thisArg ])

callback 测试每个元素的功能,采用三个参数

currentValue (需要)正在数组中处理的当前元素。

index (可选的)在数组中正在处理的当前元素的索引。

array (可选的)数组every被调用。

thisArg可选的。this执行时使用的值callback。

返回值:true如果回调函数返回每个数组元素的真实值; 否则false。(对数组的每一个元素进行函数的运行)

functionisBigEnough(element,
index, array){return
element>=10;}
[12,5,8,130,44].every(isBigEnough);//
false
[12,54,18,130,44].every(isBigEnough);//
true

filter() 基本参数同上
返回值 过滤之后的结果

function isBigEnough(element, index, array) {
return element >= 10;
}
var a=[12, 5, 8, 130, 44].filter(isBigEnough); //12,130,44

forEach() 基本参数同上

语法
array.forEach(callback(currentValue, index, array){
    //do something}, this)array.forEach(callback[, thisArg])

var arr=['a','b','c'];
arr.forEach(function(element){
console.log(element);});
//a
//b
//c

map() 基本参数同上
创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。(不操作原来的数组)

function isBigEnough(element, index, array) {
return element*2;
}
var a=[12, 5, 8, 130, 44].map(isBigEnough);

//24, 10, 16, 260, 88

some() 基本参数同上
测试数组中至少有一个元素是否通过由提供的函数实现的测试。

function isBigEnough(element, index, array) {
return element >= 10;
}
var a=[12, 5, 8, 9, 2].some(isBigEnough); // true
var b=[6, 5, 8, 9, 2].some(isBigEnough); // false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: