2021-03-04

JS数组和函数

数组的定义

所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组

//创建一个空数组
var arr = [];
//数组声明
var arr = [1,2,3];

//获取数组长度 
console.log(arr.length);

获取数组元素

var arr = ['red','blue','green'];

arr[0];//red

arr[2];//green

arr[3];//获取的是underfined,因为没有。

数组遍历

//第一种方法
for(var i = 0 ; i <arr.length; i++){

    console.log(arr[i]);
}
//第二种
  var arr = [1,2,3,54];
        for( i  in arr){
            console.log(arr[i]);
        }

数组中的push方法

var arr = ["red", "green", "blue"];

//push向数组中添加元素

arr.push(“pink”);

//新数组为 red green blue pink

数组案例

求一组数中的所有数的和和平均值
  var sum1 = 0;
  for (var i = 0; i < arrNum.length; i++) {
    sum1 += arrNum[i];
  }
  console.log(sum1);//338
  // 平均值
  var abg = sum1 / arrNum.length;
  console.log(abg.toFixed(2));
求一组数中的最大值和最小值,以及所在位置
  var numMax = arrNum[0];//假设第一元素是最大值
  var numMin = arrNum[0];//假设第一元素是最小值
  var indexMax = 0;
  var indexMin = 0;
  for (var i = 0; i < arrNum.length; i++) {
//如果比假设的元素大就交换位置
    if (arrNum[i] >= numMax) {
      numMax = arrNum[i];
    
      indexMax = i + 1;
    }
//如果比它小就交换位置
    if (arrNum[i] <= numMin) {
 
      numMin = arrNum[i];
      indexMin = i + 1;
    }
  }
  console.log("最大值是:" + numMax + ",是第" + indexMax + "个元素!");
  console.log("最小值是:" + numMin + ",是第" + indexMin + "个元素!");
翻转数组
  var newArr2 = [];
//就是把数组倒着遍历
  for (var i = arrNum.length - 1; i >= 0; i--) {
    console.log(arrNum[i]);
    newArr2.push(arrNum[i]);
  }
  console.log(newArr2);

函数

什么是函数

把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数。

起个名字(函数名),在后续开发中可以反复调用。

函数的作用就是封装一段代码,将来可以重复使用。

 

//函数的声明
function 函数名(){
  // 函数体
}
//函数调用
函数名();
//特点:函数体只有在调用的时候才会执行,调用需要()进行调用。可以调用多次(重复使用)

 

     //数组去重,返回一个新数组
        var arr = [1, 2, 2, 3, 5, 6, 6, 7, 8, 9];
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            for (var j = i + 1; j < arr.length; j++) {
                if (arr[i] === arr[j]) {
                    i++;
                    //如果相等就不要了给到j
                    j = i;
                }
            }
            //往新数组添加
            newArr.push(arr[i]);
        }
        console.log(newArr);
在遍历arr的过程中,如果在arr数组里面找当前的值,返回的索引等于当前的循环里面的i的话,那么证明这个值是第一次出现,所以推入到新数组里面,如果后面又遍历到了一个出现过的值,那也不会返回它的索引,indexof()方法只返回找到的第一个值的索引,所以重复的都会被pass掉,只出现一次的值都被存入新数组中,也达到了去重的目的。

var arr = [2, 8, 5, 0, 5, 2, 6, 7, 2]
  var newArr = []
  for (var i = 0; i < arr.length; i++) {
    if (arr.indexOf(arr[i]) === i) {
      newArr.push(arr[i])
    }
  }
  console.log(newArr) // 结果:[2, 8, 5, 0, 6, 7]
      //作业2:将数组[10,1,35,61,89,36,55]冒泡排序,从小到大
        var arr = [10, 1, 35, 61, 89, 36, 55];
        for (var i = 0; i < arr.length - 1; i++) {
            for (var j = 0; j < arr.length - 1; j++) {
                //如果比它大就去后面
                if (arr[j] > arr[j + 1]) {
                    var temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        document.write(arr)
        console.log(arr);

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值