注意:
该文章由JS小白(本人)编写完成,仅为个人总结和理解,若有纰漏和误解,还望多多指出,共同成长😋
数组
数组:一组数据,用[]表示,数据放到中括号里,其中的值用,隔开,是有序的集合
数组的索引:从0开始 0表示的是数组中第一个值
var arr = [1,2,3,4,5];
console.log(arr[2]); // 3
数组的创建方式
- 字面量
var arr = ["a","b","c"]; // 以字面量的方式创建数组
console.log(arr[0] , arr.length); // arr数组中索引为0(第一个值)为a
// 数组的长度(共有多少值) 3
var arr1 = []; // 创建一个空数组arr1
console.log(arr1.length); // 此时arr1的长度为0
arr1.length = 5; // 改变arr1的length的值
console.log(arr1); //(5)[empty * 5] // 会得到这样的结果,5个空值
console.log(arr1[0],arr1[2]) // 取出来的值为undefined
arr1[5] = 10; // 此时给它第六位数(索引为5)赋值为10
console.log(arr1,arr1.length); //[empty × 5, 10] 6 会得到这样的结果
2.构造函数
var arr = new Array(1,2,3); // 构造函数方式创建数组
var arr = new Array(5);// 单个参数表示长度
// arr(5)[empty * 5];
js数组操作
1.增 & 删
1.1 push()
可以接受多个参数,将参数追加到数组尾部,返回增加后数组的长度,原数组发生改变
var arr = [1,2,3,6];
var a = arr.push(11,22,33);
console.log(arr,a);
//(7)[1,2,3,6,11,22,33] 7
1.2 pop()
不接受参数,从数组尾部删除一个元素,返回被删除的元素,原数组发生改变
var arr = [1,2,3,6];
var pop = arr.pop();
console.log(arr,pop)
//(4)[1,2,3,6] 6
1.3 shift()
不接受参数,从数组头部删除一个元素,返回被删除的元素,原数组发生改变。
var arr = [1,2,3,6];
var a = arr.shift(11,22);
console.log(arr,a);
//(3) [ 2, 3, 6] 1
1.4 unshift()
可以接受多个参数,将参数追加到数组头部,返回增加后数组的长度,原数组发生改变。
var arr = [1,2,3,6];
var a = arr.unshift(11,22);
console.log(arr,a);
//(6) [11, 22, 1, 2, 3, 6] 6
2.截取
2.1 slice()
无参数时,整体截取;
1个参数时,从该参数表示的索引为开始截取,直至数组结束
2个参数时,从第一个参数表示的索引位开始截取,直到第二个参数表示的索引为结束,但不包括第二个索引对应的值。
返回截取的数组,原数组不改变。
2.2 splice()
无参数时,不截取;
1个参数时,该参数表示开始的索引。直至数组结束
2个参数时,第二个参数表示从第一个参数开始截取的个数
3个及以上参数时,将第三个及之后的参数插入被截取的开始的位置。
返回截取的数组,原数组发生改变
var arr = [11,2,3,5];
var a = arr.slice(0,1);
console.log(arr,a); //(4) [11, 2, 3, 5] [11]
var a = arr.splice(1,2,33,44);
console.log(arr,a); //(4) [11, 33, 44, 5] (2) [2, 3]
3.排序
3.1 reverse()
数组元素翻转
将原数组中元素首尾顺序翻转,返回翻转后的数组,原数组发生改变.
var arr = [1,2,3,4];
var a = arr.reverse();
console.log(arr,a); // [4, 3, 2, 1] [4, 3, 2, 1]
3.2 sort()
无参数时,按照字符串的大小进行排序(按位排序),返回排序后的数组,原数组发生改变
当为函数时,根据函数内语句判断先后。
sort(function(a,b){
return a - b; //按数字从小到大排序
return b - a; //按数字从大到小排序
})
var arr = [5,11,8,22,3,9];
var a = arr.sort();
console.log(arr,a); //(6) [11, 22, 3, 5, 8, 9] (6) [11, 22, 3, 5, 8, 9]
arr.sort(function(a,b){
return a - b; // 从小到大
// return b - a; // 从大到小
});
console.log(arr,a); //(6) [22, 11, 9, 8, 5, 3] (6) [22, 11, 9, 8, 5, 3]
4.join()
将数组转换成字符串,无参数时默认分隔符为逗号,有参数时分隔符为输入的参数。
var arr = [1,2,3,4];
var str = arr.join(""); //"1234"
var str = arr.join("+++++"); //"1+++++2+++++3+++++4";
5.合并 concat()
合并数组 不改变原数组
var arr1 = [1,2];
var arr2 = [3,4];
var arr = arr1.concat(arr2); //[1,2,3,4]
var arr = arr1.concat(11,22); //[1,2,11,22]
以上是关于JS第八小节的总结,下次再见😘