JS工具对象 Array

学习数组中常用的方法,我们需要按照四个维度去探讨

1、方法的作用

2、需要传哪些参数

3、是否有返回值,返回值是什么

4、通过此方法是否对原来数组产生了改变

数组常用方法:     

1.向数组的末尾增加新的内容 ary.push(4);

var ary =[1,2,3];
ary.push(4);  //[1,2,3,4];
ary.push(100,"张三,"李四") //可以传递多个参数

2.删除数组最后一项 ary.pop();

var ary =[1,2,3];
var res=ary.pop();// [1,2];

3.删除数组中的第一项ary.shift();

var ary =[1,2,3];
ary.shift();// [2,3];

4.向数组开头增加一项ary.unshift();

var ary =[1,2,3];
ary.unshift(100);// [100, 1, 2, 3];

5.增删改 全能操作 ary.splice();

1)从索引n开始,删除m个元素 ary.splice(n,m);

返回:把删除的内容以一个新的数组返回

原数组改变

2)删除末尾ary.splice(ary.length-1);

返回:删除掉的最后一项

原数组改变 

3)从索引n开始,删除到末尾ary.splice(n);

返回:把删除的内容以一个新的数组返回

原数组改变

4)清空ary.splice(0);

删除数组每一项清空数组

返回:把未清空前的数组返回

原数组改变

5)复制数组ary.splice();

返回:一个空数组

原数组未改变

6)修改ary.splice(n,m,x.....);

从索引n开始,删除m个,用x替换删除部分,替换部分可以传入多个参数

返回:删除的内容

原数组改变

7)增加ary.splice(n,0,m....);

从索引n开始一个都不删除

返回:返回一个空数组

原数组改变:把m之后的参数添加到n的前面

8)再末尾增加ary.splice(ary.length,0,x....);

向数组末尾添加x及之后的参数

返回:空数组

原数组改变

关于数组的截取和拼接

6.slice

1)实现数组的截取,在原来的数组中截取某一部分ary.slice(n,m);

返回:从索引n开始到索引m处(不包含m)以一个新的数组返回

原来数组不变

2)实现克隆ary.slice();

7.concat

把两个数组拼接到一起,原来的数组不改变ary.concat(x,y,z);返回一个新的数组

8.把数组转化为字符串ary.toString();

返回:把原数组转化为字符串

原数组不变

9.join:按照一个分隔符,把数组中的每一项拼接成一个字符串ary.join("+");

返回:A+B+C+D 格式字符串

var ary = [12,23,45,65];

eval(ary.join("+"));

原数组不变

数组的排序和排列

10.ary.reverse();

返回:倒过来排序的数组

原数组亦变成倒序

11. sort:给数组进行排序 ary.sort(); 

这样只能处理10以内的数组进行排序,因为它是按照unicode编码的值进行排序的

ary.sort(function(a,b){  //  由小到大排序  b-a为从大到小排序

   return  a- b;

});

5、只有在标准浏览器中兼容的方法,在ie678下不兼容的

12/13.  indexOf / lastIndexOf(字符串中也是有这两个方法,但是字符串的这两个方法兼容所有的浏览器,而数组的这两个方法是不兼容的)

当前内容在数组中第一次/或者最后一次出现位置的索引,如果数组中没有出现这一项的结果是-1,如果有这一项,索引是几就返回几

14.15.  forEach/map都是用来遍历数组中的每一项的

ary.forEach(function(item,index){
console.log(item,index);
});

   ary.map(function(item,index){

         return item*10;

});

更多的数组方法

console.dir(Array.prototype);

原文地址:https://www.cnblogs.com/zzzzzzzsy/p/6660411.html