1.创建数组的方法
1).使用Array对象创建(var arr(名称) = new Array();)
2).使用字面量的方式(直接赋值)(var arr = [1, 2, 3, 4, 5])
2.数组的长度与怎么样获取数组中的元素
- 数组的长度 数组名.length
怎么样获取数组中的元素
使用:数组名[下标]的方式(arr_2[1])数组下标是从0开始的,最大可以取到数组长度减一
3.想要打印出数组里面的所有元素(使用循环,for和for....in....都可以)
实例:(打印所有元素)
var arr_4 = new Array(90, 50, 65, 70, 20, 10)
for (var i = 0; i < arr_4.length; i++) {
console.log(arr_4[i])
}
效果:
实例2:(打印一个数组里面的所有奇数之和)
var arr = new Array(1, 10, 20, 3, 4, 5, 6, 11);
var sum = 0;
for (var i = 0; i < arr.length; i++) {
//判断奇数
if (arr[i] % 2 != 0) {
sum += arr[i]
}
}
console.log(sum)
效果:
4.数组中常用的函数
push():向数组末尾添加一个元素,返回数组长度
unshift():向数组前面添加一个元素,返回数组长度
pop():删除数组中最后一个元素,并返回
shift():删除数组中最前面的一个元素,并返回
sort():进行升序(注:先将数组中的所有元素转换成字符串之后再进行)
reverse():倒序
如果想将字符串类型的数组进行降序排列:可以先用sort(),然后再使用reverse()进行倒序
join():将数组以某个符号进行拼接,并返回一个字符串
concat():将某个元素添加到数组末尾和push有点像
splice():从指定位置删除指定长度的元素
slice():复制从指定位置到结束位置的元素(注:取不到结束位置的元素)
indexOf():获取指定元素的索引indexOf,如果没有则返回-1
比较函数
var arr_7 = [12, 13, 150, 15, 180, 70]
// //比较函数
// //定义一个比较函数:但a小于b的时,a在b前面,返回一个小于0的数,当a大于b时,a在b后面,返回一个大于0的数,当a等于b是,返回0
function compare(a, b) {
//升序
// return a - b
//降序
return b - a
}
//利用比较函数实现升降排序
console.log(arr_7.sort(compare))
效果:
5.数组去重
1)数组去重不会影响原数组
实例:
var arr_8 = [70, 20, 100, 20, 50, 60, 50, 70]
//定义一个空数组用来存放不重复元素
var newArray = [];
for (var i = 0; i < arr_8.length; i++) {
//判断将要添加到数组中的元素是否已经存在,如果不存在添加,存在不添加
if (newArray.indexOf(arr_8[i]) == -1) {
//讲不重复的元素添加到新数组
newArray.push(arr_8[i])
}
}
console.log(newArray)
效果:
2)数组去重会影响原数组
实例:
for (var i = 0; i < arr_8.length; i++) {
var temp = arr_8[i]
for (var j = i + 1; j < arr_8.length; j++) {
if (arr_8[j] == temp) {
arr_8.splice(j, 1)
}
}
}
console.log(arr_8)
效果:
6.将数组中的元素反转,不使用reverse()函数
元素两两交换
实例:
//将数组中的元素反转,不使用reverse()函数
var arr_9 = [10, 20, 30, 50, 40]
for (var i = 0; i < arr_9.length / 2; i++) {
var temp = arr_9[i] //跟他交换的是arr_9.length-i-1
arr_9[i] = arr_9[arr_9.length - i - 1]
arr_9[arr_9.length - i - 1] = temp
}
console.log(arr_9)
效果:
7.清空数组方法
arr=[]
arr.length
arr.splice(0,arr.length)