数组
数组内置方法:
排序方法:
sort(fn) | 默认照ASCII码来排序 fn函数可以自定义排序的规则 |
---|
reverse() | 倒序 |
实例:
var arr = [2, 5, 9, 4, 3, 1, 0]
arr.sort(function (a,b) {
return a - b;
})
console.log(arr);
var arr1=[1,2,3,4,5,6,7,8,9]
arr1.reverse();
console.log(arr1);
转换方法:
join(sp) | 能将数组转换为字符串(通过指定字符链接起来) |
---|
实例:
var stringArray = ["This","is", "JS", "Campus"]
var arr1=stringArray.join(" ");
console.log(arr1);
数组新的方法 Es6
高阶函数:
lastIndexOf() | 最后一次出现的位置 找到返回该元素位置 找不到返回-1 |
---|
forEach(fn) | 遍历 括号放函数 函数里需要有三个参数 item:( 数组元素)index:(元素索引) arr:(数组自身) |
实例:
var arr = [1, 2, 5, 8, 2, 7]
var arr1 = arr.lastIndexOf(2);
console.log(arr1);
var arr1 = arr.lastIndexOf("hello");
console.log(arr1);
----------------------
var arr0 = [10, 20, 30, 40, 50]
var sum=0;
arr0.forEach(function (item, index, arr) {
sum+=item;
})
console.log(sum);
reduce(fn) | 将数组元素计算为一个值 自左向右 括号放函数 |
---|
reduceRight() | 功能和reduce类似, 区别:自右向左 |
实例:
var arr = [10, 20, 30, 40, 50]
var sum=arr.reduce(function (total,item) {
return total +=item ;
})
console.log(sum);
此方法和 reduceRight()相向 无非是一个从左至右 一个是从右至左;
some() | 检测数组中是否有元素满足规则 true false |
---|
every() | 检测数组中是否所有元素满足规则 true false |
map() | 通过指定函数处理数组的每个元素,并返回处理后的数组。 |
filter() | 过滤 |
实例:
var arr = [55, 66, 77, 88, 99]
var num= arr.some(function (item) {
return item > 90;
})
console.log(num);
------------------------
var arr1 = [55, 66, 77, 88, 99]
var num1= arr1.every(function(item){
return item>80;
})
console.log(num1);
-------------------------
var arr2=[10,20,30,40,50]
var num2=arr2.map(function(item){
return item-5;
})
console.log(num2);
--------------------------
var arr3 = [1, 2, 3, 4, 5, 6]
var num3= arr3.filter(function (item) {
return item > 2;
})
console.log(num3);
总结:
好多方法太相向所以在使用这些方法的时候一定要注意细节之处。
有了数组的这些方法在实际情况运用起来就会特别方便,减少很多繁琐的步骤。