数组

创建数组的方式

var arr = ['张三','李四','王五','小明'];
var arr2 = new Array(3);

创建出 一个数组 [empty*3],三个空元素数组

  var arr3 = new Array(2,3,5);
    console.log(typeof arr); // object
    // 判断一个 变量 是不是 数组 
    // instanceof 
    console.log(arr instanceof Array); // true  代表  是数组 
    console.log(obj instanceof Array);  // fasle  代表 不是数组

两个特性

  • 长度:console.log(arr.length);
  • 角标:console.log(arr[1]);

数组基本操作:CURD

create update retrieve delete

// 获取元素  通过索引
   var tempName = arr[2];
   console.log(tempName);


// 新增元素  通过索引
arr[4] = '赵六';

// 修改元素 通过索引 
arr[1] = '小红';

// 删除元素
// 通过一些方法 才能删除元素 需要知道删除元素的索引 
// arr.splice(2,1); 删除位置,删除个数


// 利用长度属性也可以想实现 间接的删除
// 把长度 从5  改成4 
arr.length = 4;
console.log(arr);

循环遍历数组

      for (var i = 0; i < arr.length; i++) {
            console.log(arr[i]);
  }

数组基本操作

  // 总结 :   添加 push() / unshift()   返回值 新长度
 //         删除  pop()  / shift()     返回值删掉的元素
  • Concat 连接两个或多个数组
  var newArr = nameArr1.concat(nameArr2); 
  • Join 将数组转换为字符串,用指定符号连接
 console.log(arr.join('-')); // '1-2-3'
  • Split() 指定分隔符(默认以逗号分隔),将字符串分割为字符串数组。
 var email = "abc@163.com;cc@126.com;frg@qq.com";
        var emailArr = email.split(';');
        console.log(emailArr); 
        //  ["abc@163.com", "cc@126.com", "frg@qq.com"]

实现数组翻转

  • 直接用reverse方法
        // [97, 68, 72, 29, 51, 45]
        // 数组翻转可以直接用方法reverse
        var array = [97, 68, 72, 29, 51, 45];
        var arr = array.reverse();
        console.log(arr);
  • 第二种
      var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (newArr.indexOf(arr[i] == -1)) {
                newArr.unshift(arr[i])
            }

        } console.log(newArr);
  • 第三种
   var arr1 = new Array();
        for (var i = newArr.length - 1; i >= 0; i--) {
            arr1.push(newArr[i]);
        }
        console.log(arr1);

计算输入日期是 这一年的第几天?

    //   提示: 判断闰年 (四年一闰拜年不润,四百年再润)
    //    year%4===0&&year%!==0||year%400===0
var year = Number(prompt('年'));
var month = Number(prompt('月'));
var day = Number(prompt('日'));

var array = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var sum = 0;
for (var i = 0; i <= (month - 2); i++) {
    sum += array[i];
}
console.log(Number(sum + day));
var all = sum + day;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    var a = all + 1;
}
console.log(a);

删除符合条件的数组

工资的数组[1500,1200,2000,2100,2100,1800],把工资超过2000的删除 -->

  var arr = [1500, 1200, 2000, 2100, 2100, 1800];
    for (var i = 0; i <= arr.length - 1; i++) {
        if (arr[i] > 2000) {
            arr.splice(i,1);
            i-=1; //删掉后会使后面元素的索引值前进一位
        }  
    }  console.log(arr);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值