#认识数组
数组有两种的定义方式
var arr [];
var arr = new Array()
数组中可以存储那些数据
var arr = [1,2,"你好,世界",true]
数据之间一定要用逗号分隔,数组元素
数组索引号是从0开始的
console.log(arr[0])
#遍历数组
<script>
var arr = ["red","green","blue"];
console.log(arr.length)
for(var i = 0; i < arr.length; i++){
console.log(arr[i])
}
</script>
#数组案例
<script>
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(average)
console.log(average)
</script>
#求数组中最大的值
<script>
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)
</script>
#数组转换成字符
<script>
var arr = ["red","green","blue","yellow"]
var str = '';
for(var i = 0; i < arr.length; i++){
str += arr[i] + "-"
}
console.log(str);
</script>
#数组新增元素
<script>
var arr = ["red","green","blue"]
console.log(arr.length);
arr[3] = "pink";
arr[0] = "红色";
console.log(arr.length)
console.log(arr)
</script>
#新增元素案例
<script>
var arr = [];
for(var i = 0; i < 100; i++){
arr[i] = i;
}
console.log(arr)
</script>
#数组元素的筛选
<script>
var arr = [2,0,6,1,77,0,53,25,7,0];
var newArr = [];
var j = 0;
for(var i = 0; i < arr.length; i++){
if(arr[i] >= 10){
newArr[j++] = arr[i]
}
}
console.log(newArr)
</script>
#数组去重
<script>
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);
</script>
#数组中的元素翻转
<script>
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);
</script>
#冒泡算法
<script>
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]){ 数组0 大于 数组1
var temp = arr[j] 空变量 继承 数组0
arr[j] = arr[j+1] 数组0 继承 数组1
arr[j+1] = temp; 数组1 继承 数组0
}
}
}
</script>
#函数
<script>
函数是什么
函数就是在它内部定义一些代码,聚合一下代码。
封装一段可以被重复调用执行的代码块,通过代码块可以实现大量代码的重复使用
function getSum(num1,num2){
return num1 + num2
}
getSum(1,2)
console.log(getSum(1, + 2))
</script>
#函数的使用
函数的使用分为两个步骤
// 1声明函数 2调用函数
// function 函数名(){
// 函数体
// }
// function:函数
// 函数第二种声明的方式
// 匿名函数的声明
// var demo = function(){
// }
// 函数第三种声明的方式
// 使用new关键词进行声明函数
// var demo = new Function("")
// 函数声明的方式一般使用前两种
#封装一个函数
<script>
第一步声明函数
function getSum(){
var sum = 0;
for(var i = 1; i <= 100; i++){
sum += i
}
console.log(sum)
}
第二步调用函数
getSum();
</script>
#函数的参数
<script>
当函数声明时,参数称为形参,而且使用变量的形式
function add(num1,num2){
console.log(num1 + num2)
}
在函数使用时,参数称为实参,可以使用变量或者字面量
var a = 1;
add(1,a);
</script>
#带参数的函数
<script>
函数的名称一定要有意义
以动词加名词的形式
function getSums(start, end){
var sum = 0;
for(var i = start; i <= end; i++){
sum += i;
}
consloe.log(sum
}
getSums(2,200)
</script>
#形参和实参个数匹配问题
<script>
function getSum(num1, num2){
console.log(num1 + num2)
}
形参和实参匹配的时候是正常显示的
getSum(1, 2)
形参比实参少的时候也是正常显示,但是多余的实参会自动删除
getSum(1, 2,3)
形参比实参多的时候会出现NaN
getSum(1)
</script>
#return
<script>
function add(num1, num2){
return:返回的意思
return num1 + num2;
}
add(1,2)
console.log(add(1,2))
</script>
#返回两个数字中最大的值
<script>
function getMax(num1, num2){
if(num1 > num2){先做比较 数值1 大于 数值2
return num1 返回数值1
}else{
return num2 如果数值1 没有大于 数值2 返回 数值2
}
三元表达式
return num1>num2?num1:num2
}
console.log(getMax(20,100))
</script>
#求数组中最大的值
<script>
var arr = [5, 100, 290, 45, 1, 2]
function getArrMax(myarr){
var max = arr[0];
for(var i = 1; i <= myarr.length; i++){
if(myarr[i] > max){
max = myarr[i]
}
}
return max;
}
调用时传递进去参数
console.log(getArrMax(arr))
</script>