红色为重点,代码中带*为重点
1、join(连接字符):作用是将数组中的元素通过给定的连接字符连成一个字符串
2、push(值/变量):从数组的末尾向数组添加元素
3、pop():从数组的末尾删除元素,一次只删除一个,返回的是被删除的元素。无需传参
4、shift():从数组的首部删除元素
5、unshift(值/变量):从数组的首部插入元素
6、sort():排序函数。默认的是从小到大。若需要降序排序,需要自己写比较函数。它是在原数组上排序
7、reverse():将数组元素颠倒顺序
8、concat():连接两个或多个数组
//join 连接 *
var arr = [1,2,3,4,5]
var a = arr.join(',')
console.log(a)
//push 从数组的末尾向数组添加元素 *
var arr = [1,2,3,4,5]
arr.push(10);
console.log(arr)
//pop 从数组的末尾删除元素,一次只删除一个,返回的是被删除的元素。无需传参 *
var arr = [1,2,3,4,5]
var a = arr.pop();
console.log(arr)
//shift 从数组的首部删除元素 *
var arr = [1,2,3,4,5]
var a = arr.shift();
console.log(arr)
//unshift 从数组的首部插入元素 *
var arr = [1,2,3,4,5]
var a = arr.unshift(10);
console.log(arr)
//sout 排序函数,默认的是从小到大
var arr = [12,34,65,24,89]
arr.sort()
console.log(arr)
//reverse 将数组元素颠倒顺序
var arr = [1,2,3,4,5]
arr.reverse()
console.log(arr)
//concat 连接两个或多个数组
var arr = [1,2,3,4,5]
var arr1 = [5,34,65,24,89]
var n = arr.concat(arr1)
console.log(n)
9、slice():切片函数:从原数组中截取部分元素组成新的数组。在截取时需要指定开始位置(开始下标)和结束位置(结束下标)
10、splice():可以实现对数组元素的插入、删除和替换
11、indexOf(元素):从左向右查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到
12、lastIndexOf(元素):从右向左查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到
//slice 切片函数:从原数组中截取部分元素组成新的数组 *
var arr = [12,2445,5,2143,5,456]
//[1,结束]
var a = arr.slice(1)
console.log(a)
//[1,4)
var a1 = arr.slice(1,4)
console.log(a1)
//[-4,-1)
var a3 = arr.slice(-4,-1)
console.log(a3)
//splice *
//两个参数 删除
//删除下标1后面两位元素(包括下标1)
var a2 = arr.splice(1,2)
console.log(a2)
console.log(arr)
//三个参数 其他为替换/0位插入
//(参数一,参数二,参数三)
//(替换位置,项数,替换值)
arr.splice(1,4,3)
arr.splice(1,0,3)
console.log(arr)
//index
var arr = [12,2445,5,2143,5,456]
//从左向右查找 indexOf *
var index = arr.indexOf(5)
console.log(index) //输出为下标 2
//从右往左查找 lastIndexOf
var last_index = arr.lastIndexOf(5)
console.log(last_index) //输出为下标 4
13、filter:可以实现对数组元素的"过滤",返回的元素构成一个新的数组
14、fill(值/变量):用给定的值或变量填充数组
15、every(function(value) { // 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回 true
return 条件表达式
})
16、includes() :判断一个数组中是否包含一个指定的值
//filter *
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.filter(function (value, index) { //(元素,下标)
return index % 3 == 0 //返回下标对三取余等于零的元素
})
console.log(temp) //[1,4,7,10]
//fill
var arr = new Array(5)
arr.fill(1)//数组的5个单元都是2
console.log(arr) //[2, 2, 2, 2, 2]
//every
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.every(function (value) {
return value <= 10 //都小于等于10则返回true,否则返回false
})
console.log(temp) //true
//includes
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var temp = arr.includes(3)
var temp1 = arr.includes(3, 3)
console.log(temp) //true
console.log(temp1) //false
二维数组 --- 循环嵌套
二维数组:数组中的每个元素都有两个下标(由行和列组成的数组
//通过字面量[]
var arr = [[1,2,3],[4,5,6],[7,8,9]];
//使用Array对象
var arr = new Array(
new Array(1,2,3),
new Array(4,5,6),
new Array(7,8,9),
)
var str = '';
for(let i = 0;i < arr.length;i++){ //arr.length表示arr数组的行数,i表示下标
for(let j = 0;j < arr[i].length;j++){ //arr[i].length表示i行的元素个数,j表示下标
str += arr[i][j] + '\t';
}
str += '\n';
}
console.log(str);
总结
1、findIndex(function(value){
return 条件表达式
}):
练习:已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它插入到数组中,保证数组仍然是有序的
var arr = [12,23,26,45,58,60]
var x = 55
var insert_index = arr.findIndex(function(value){ //value:表示数组元素
return value>=x //返回数组中第一个大于x的元素的下标
})
arr.splice(insert_index,0,x)
console.log(arr)
2、数组总结:
(1)数组的作用:是一种数据的存储结构。用来存储程序中的数据
(2)数组的定义方式:
a、字面量:[ ]
b、Array对象:new Array()
(3)数组的内置方法(函数):数据的插入/删除、切片、过滤、查找
(4)与数组相关的算法:排序算法(冒泡)