数组常用的一些方法

数组五个迭代方法

forEach():没有返回值,只是针对每个数组项调用指定的函数(callbackfn)

every(): 返回一个布尔值(true或false),判断每个数组项是否符合指定函数的条件,符合为true,反之为false

some(): 返回一个布尔值(true或false),判断每个数组项是否符合指定函数的条件,只要有任何一项返回为true,就会返回true

filter(): 每个数组项调用指定的函数,条件为true的将返到一个新数组中

var arr = [1,2,3]
var arr_new= that.tag.filter(item => {
 return item != 1;
});
arr_new //[2,3]

 map(): 每个数组项调用指定的函数,返回每次函数调用的结果组成一个新数组

var arr = [1,2,3]
var arr_new= arr.map(item => {
        return item+1;
});
arr_new //[2,3,4]

 这五个数组迭代的方法中,其中forEach()、every()和some()方法不生成一个新数组,而filter()和map()方法将会生成一个新数组(符合条件)。

 数组合并:

concat() 方法用于连接两个或多个数组。

 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

var arr1 = [1,2];
var arr2 =[3,4];
var  arr3 =[5,6];
var arr_new1= arr1.concat(arr2);
var arr_new2= arr1.concat(arr2,arr3);
arr_new1//[1,2,3,4]
arr_new2//[1,2,3,4,5,6]

 从数组创建字符串

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

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

 

var arr =[110,112,119]
console.log(arr.join())//"110,112,119"
默认以逗号分割
console.log(arr.join('+'))//"110+112+119"
也可自定义分隔符
 数组删除与清空 delete方法 这种方式数组长度不变
var arr = [22,33,44,55];
delete arr[1];
这种方式数组长度不变,此时arr[1]变为undefined了
 splice方法  这种方式数组长度相应改变,但是原来的数组索引也相应改变 splice参数中第一个1,是删除的起始索引(从0算起),   第二个元素是删除元素的个数  
var ary = [1,2,3,4];
ary.splice(0,ary.length);//清空数组
console.log(ary); // 输出 [],空数组,即被清空了


var ary = [11,22,33,44];
ary.splice(0,1);//删除数组中11
或 ary.splice($.inArray(11, ary), 1); 
其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。
splice方法在删除数组元素的同时,还可以新增入数组元素 比如arr.splice(1,1,55,66),55,66两个元素就被加入数组arr了

猜你喜欢

转载自1150404757.iteye.com/blog/2354600