1-认识数组
01-定义
数组有以下两种定义方法:
var arr = [];
var arr = new Array();
02-内容
在数组中可以存储:数值,字符串,布尔值。
var arr = [1, 2, "你好,世界", true];
03-规则
数据之间一定要用逗号分割, 数组索引号是从0开始的!!!
var arr[ 1, 2, 3, 4,]
console.log( arr[0]) // 1
console.log( arr[1]) // 2
console.log( arr[2]) // 3
console.log( arr[3]) // 4
console.log( arr[4]) // undefined 当没有第四个时显示的是undefined
2-遍历数组
var arr = ["1", "2", "3"];
console.log(arr.length)
for(var i = 0; i < arr.length; i++) {
console.log(arr[i])
}
例1:
算出数组的相加值和平均数
var sum = 0;
var average = 0;
var arr = [1, 2, 10, 56, 47];
for(var i = 0; i < arr.length; i++) {
sum += arr[i]
}
average = sum / arr.length;
console.log(sum)
console.log(average)
例2:
求出数组中的最大值!!!
先将max值为arr[0] 2.拿到arr[1] 和max做比较,如果max大,max不需要修改,如果arr[1]大。max = arr[1]
var arr = [10, 100, 98, 1024, 8];
var max = arr[0]
for(var i = 1; i < arr.length; i++) {
if(arr[i] > max) {
max = arr[i]
}
}
console.log("该数组中最大的值为", max)
例3:
var arr = ["red", "green", "blue", "yellow"];
var str = ''
for(var i = 0; i < arr.length; i++) {
str += arr[i] + "-"
}
console.log(str)
3-数组元素改变
01-添加
var arr = ["red", "green", "blue"]
console.log(arr.length)
arr[3] = "pink"
arr[0] = "红色"
console.log(arr.length)
console.log(arr)
例1:
var arr =[]
for(var i = 1 ; i <=10 ; i++){
arr[i]=i
}
console.log( arr)
02-筛选
把数组中大于等于10的数组元素全部选出来,并且放到新的数组中去
var arr = [2, 0, 6, 1, 77, 0, 53, 25, 7, 0]
var newArr = []
for(var i = 0; i < arr.length; i++) {
if(arr[i] >= 10) {
newArr[newArr.length] = arr[i]
}
}
console.log(newArr)
03-去重
var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
var newArr = []
for(var i = 0; i < arr.length; i++) {
if(arr[i] != 0) {
newArr[newArr.length] = arr[i]
}
}
newArr[newArr.length] = 0;
console.log(newArr)
04-数组元素进行翻转
var arr = [1, 2, 3, 4, 5, 6]
var newArr = [];
for(var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i]
}
console.log(newArr)
05-冒泡算法
把数从小到大重新排列
var arr = [4, 1, 55, 11, 12, 50, 24]
for(var i = 0; i <= arr.length - 1; i++) {
for(var j = 0; j <= arr.length - i - 1; j++) {
if(arr[j] > arr[j+1]) {
var temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp;
}
}
}
console.log(arr)
2-函数
函数是就是在它的内部定义一些代码,聚和一下代码。
官方解释: 封装了一段可以被重复调用执行的代码块。通过代码块可以实现大量代码的重复使用!!!
01-声明函数与调用函数
函数使用有两个步骤
1.声明函数 2.调用函数(函数不能自己调用)
结构: function 函数名() {
函数体
}
function : 函数
匿名函数的声明
第一种:var demo = function() {
}
第二种:使用new关键词进行声明函数
var demo = new Function("")
例:
声明: function getSum(num1 ,num2) {
return num1 + num2
}
调用: getSum(1 , 2)
函数的名称和咱们之前定义的变量名是一样的,一定要有意义!!
函数的参数
1.参数 add(参数1, 参数2)
2.当函数声明时,参数称为形参,而且使用变量的形式!!!
function add(num1, num2) {
console.log(num1 + num2)
}
// 3.在函数的调用时,参数称为实参,可以使用变量或者字面量
var a = 1;
add(a, 1)
例1:
求两个数之间的 和
// 两个参数之间用逗号隔开!!!
function add(num1, num2) {
// return 返回的意思
return num1 + num2;
}
console.log(add(1, 2))
例2: function getMax(num1, num2) {
if(num1 > num2) {
return num1
}else {
return num2;
}
}
console.log(getMax(10, 100))
console.log(getMax(100, 200))
“ return num1>num2?num1:num2” 等同于 上方 if语句
例3:
var arr = [5, 100, 290, 45, 1, 2]
function getArrMax(myarr) {
var max = myarr[0];
for (var i = 1; i <= myarr.length; i++) {
if (myarr[i] > max) {
max = myarr[i]
}
}
return max;
// 这里的 11111不会打印。return会终止当前函数的执行,下面的代码不再执行!!!
alert("11111")
}
// 调用时传递进去实参,
console.log(getArrMax(arr))