1.用map迭代Arrays
例如:
var timesFour = oldArray.map(function(val){
return val * 4;
});
map方法会遍历数组的每一个元素, 根据回掉函数(上面对每个元素乘4)创建一个新的数组。
注意:它不改变原数组。
2.使用reduce方法压缩arrays
这个reduce方法用来遍历一个数组然后把它压缩成一个值.
在reduce方法的回掉方法里传入两个参数,一个是搜集变量(下面例子是previousVal),一个是现在的变量(currentVal).
reduce方法的第二个参数(第一个参数是回掉方法)用来初始化第一个参数的值,可以省略, 如果省略,则用数组的第一个值来给第一个参数初始化,currentVal就从数组第二个元素开始。
例如,求每个数组元素相反数:
var singleVal = array.reduce(function(previousVal, currentVal) {
return previousVal - currentVal;
}, 0);
再比如,求数组的和:
var array = [4,5,6,7,8];
var singleVal = 0;
singleVal = array.reduce(function(sum,currentValue){
return sum += currentValue;
},0);
3.用filter方法过滤Arrays
这个方法可以过滤出想要的元素来.
filter的回调函数以当前值为参数.
例如,过滤掉5:
array = array.filter(function(val) {
return val !== 5;
});
4.Sort Arrays
sort默认是升序排列,要降序就自己写比较函数。
如果没有比较函数,则默认按字母序.
它返回的是排好序的数组。
var array = [1, 12, 21, 2];
array.sort(function(a, b) {
return a - b;
});
5.Reverse Arrays
reverse方法用于反转数组。返回反转的数组。
var myArray = [1, 2, 3];
myArray.reverse();
returns [3, 2, 1]
6.Concatenate Arrays with concat
concat方法可以连接两个数组。连接在最后。
使用方法:
newArray = oldArray.concat(otherArray);
7.Split Strings with split
用split方法可以将字符串分割成数组.
需要指定分隔符。
例如,按s分割:
var array = string.split('s');
或则按空格分割:
var string = "Split me into an array";
var array = [];
array = string.split(' ');
8.Join Strings with join
同样,我们可以根据你选择的分隔符将数组连接成字符串。
例如:
var veggies = ["Celery", "Radish", "Carrot", "Potato"];
var salad = veggies.join(" and ");
console.log(salad); // Celery and Radish and Carrot and Potato
9.every
every方法用于判断是否数组每个元素都满足一个条件,否则返回false。
例如:
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
ages.every(checkAdult);//false
10.indexOf()
返回指定元素在数组中的位置,找不到返回-1:
array.indexOf(item,start);//从start开始
var arr = [1,2,3,1];
arr.indexOf(1);//0
arr.indexOf(1,2);//3
同时还有lastIndexOf()
12.array.pop()
用于弹出最后一个元素,长度变化。
相对应的有push()
shift: 移除并返回第一个元素
unshift: 向数组的开头添加一个或多个元素,并返回新的长度。
13.slice
选择数组中的一段
返回一个新的数组,包含从 start 到 end (不包括该元素)的 array中的元素
array.slice(start, end)
参数可以为负数,表示从后往前选择。
例如:
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var myBest = fruits.slice(-3,-1);//Lemon,Apple
14.some()
some() 方法用于检测数组中的元素是否满足指定条件,只要有一个就返回true。
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
ages.some(checkAdult);//true
15.toString()
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString();//Banana,Orange,Apple,Mango