今晚,跟一个也是学习web前端开发的同学,一直纠结着有关数组索引和长度的问题,其实这是JS语法中很简单的问题,大概由于聊天方式的问题,纠结了很久,导致我深夜未眠,于是,决定动手写写JS中的数组。
1、创建数组的方式。
简章粗暴的方式:var arr = [1,2,3];
高逼格的方式(不推荐):var arr = new Array(1,2,3);
2、关于长度和索引的问题(今晚罪恶的根源)。
获取数组的长度可以通过arr.length , 如上例 arr.length=3,而数组索引是从0开始的,如上例a[0]=1;a[1]=2;a[2]=3。因此,要想获取数组最后一个元素,不要写成arr[arr.length],而应该是arr[arr.length-1]。
3、数组的遍历方法。
这是我面试中遇到过的问题,这里稍微详细的写写。
方法一、 for循环
var arr = [1,2,3]
for(var i=0; i< arr.length; i++){
console.log(arr[i]);
}
方法二、 while循环
var arr = [1,2,3], i = 0;
while(i < arr.length){
console.log(arr[i]);
i++;
}
方法三、 foreach方法
var arr = [1,2,3],i=0;
arr.forEach(function(x){
console.log(x);
})
方法四、 for...in方法
var arr = [1,2,3],i=0;
for(x in arr){
console.log(arr[x])
}
方法五、 ES6中的for...of方法
var arr = [1,2,3],i=0;
for(x of arr){
console.log(x)
}
方法六、 map方法
var arr = [1,2,3],i=0;
arr.map(function(x){
console.log(x);
return x;
})
这个方法要注意return,return的值会改变原数据,为了不改变原数组,所以,我return x。
方法七、 filter方法
var arr = [1,2,3],i=0;
arr.filter(function(x){
console.log(x);
return true;
})
这个方法用于筛选,一样要注意return的值,return true保留,return false则去除。
4 数组的其它方法
数组倒序:arr.reverse();
数组排序:arr.sort();
数组运算:arr.reduce();
合并数组:arr1.concat(arr2);
数组组成一个字符串:arr.join('')。
在此,我就写着这么多,日后有更多了解再作补充。