数组与对象的查改增删

一:数组

例题1: 已知数组: [1, 2, 5, 4, 7]

1.查询数组(查询数组里面的第五个数字)

(1)根据下标查询数组里面的数值

let arr = [1, 2, 5, 4, 7]
        // 查询第第五个
        console.log(arr[4]);//数组是有下标的,从零开始,所以第五个数字的下标是4

结果:

 (2)根据数组里的数值查询该数值的索引----indexof()

 let arr = [1, 2, 5, 4, 7]
        let index = arr.indexOf(4);
        console.log(index);

结果:

 2.修改数组(修改数组里面的某一个数值)

(1)修改一个元素

   let arr = [1, 2, 5, 4, 7]
       
        arr[1] = 20;
        console.log(arr);

结果:

(2)修改多个元素----- 数组名称.splice(起始位置, 修改数量,新元素1,新元素2) 

let arr = [1, 2, 5, 4, 7]
        arr.splice(1, 3, "5", "6", '8');
        console.log(arr);

 结果:

3.添加(在数组里面添加数值)

(1)在数组的最后一个数值后添加----末尾添加-----push()

    

 let arr = [1, 2, 5, 4, 7]
       
        // 添加
        // (末尾添加)
        arr.push(8, 9)
        console.log(arr);

结果:

(2)头部添加-----unshift()

 let arr = [1, 2, 5, 4, 7]
      
        // 头部添加
        arr.unshift(0)
        console.log(arr);

结果:

(3)在数组里面任意位置添加数值----数组名称.splice(起始位置, 0,新元素1,新元素2) 

  let arr = [1, 2, 5, 4, 7]
       
        //在任意位置添加
        arr.splice(2, 0, 5, 6)
        console.log(arr);

结果:

 

 4.删除(删除数组中最后一个元素)

(1)删除最后一个元素-----pop()

 let arr = [1, 2, 5, 4, 7]
       
        let obj = arr.pop();
        console.log(obj, arr);

注意:obj是代表删除的元素

结果

(2)删除第一个元素---- shift()

  let arr = [1, 2, 5, 4, 7]
        //删除第一个数
        let obj2 = arr.shift()
        console.log(obj2, arr);

结果:

(3)删除指定的元素----- 数组名称.splice(起始位置, 删除数量) 

 let arr = [1, 2, 5, 4, 7]

        
        // 指定删除
        // splice里面第一个数是起始值 第二个是删除数量  obj1是arr数组里面被删除的数
        let obj1 = arr.splice(1, 1);
        console.log(obj1,arr);

结果:

 注意:第一个数组里面是被删除的元素    第二个数组是被删除元素之后原先的数组

 二.对象

创建一个对象:例如包含:姓名  年龄  性别  爱好

1.查询对象

  let student = {
            // 属性
            name: "小王",
            age: 30,
            sex: "男",
            hobby: ["篮球", "足球"],
            // 方法
            study: function () {
                console.log(`${this.name}爱学习`);
                return this.age;
            }
        }
        // 查属性----对象.属性名称  或者  对象["属性名称"]
         console.log(student.name);
         console.log(student.age);
         console.log(student.sex); 

        // 查方法----对象.方法名称();
          student.study();
          console.log(student.study());

结果: 

2.增加对象

 let student = {
            // 属性
            name: "小王",
            age: 30,
            sex: "男",
            hobby: ["篮球", "足球"],
            // 方法
            study: function () {
                console.log(`${this.name}爱学习`);
                return this.age;
            }
        }
        // 2.增
        // 2.1 添加属性 ----对象.新属性名称=值;
        student.address = "湖南文理";
        // console.log(student);

        // 2.2 添加方法----对象.新方法名称=函数;
        student.playGames = function () {
            console.log(`${this.name}也爱玩游戏`);
        }
        console.log(student);
        student.playGames();

结果:

3.修改对象

 let student = {
            // 属性
            name: "小王",
            age: 30,
            sex: "男",
            hobby: ["篮球", "足球"],
            // 方法
            study: function () {
                console.log(`${this.name}爱学习`);
                return this.age;
            }
        }
        // 3.改
        // 3.1 修改属性值------对象.属性名称=值;
        student.name="李四";
        student.age=25;
        
        // 3.2 修改方法值------对象.方法名称=函数;
        student.study=function(){
            console.log(`${this.name}爱JavaScript学习`);
            return this.name
        }
        console.log(student);
       let getAge=  student.study();
       console.log(getAge); 

结果:

4.删除对象 

   let student = {
            // 属性
            name: "小王",
            age: 30,
            sex: "男",
            hobby: ["篮球", "足球"],
            // 方法
            study: function () {
                console.log(`${this.name}爱学习`);
                return this.age;
            }
        }
         // 4.删
        // 4.1 删除属性----对象名称.属性名称
        delete student.hobby;
        console.log(student);

         // 4.2 删除方法----对象名称.方法名称
         delete student.study;
         console.log(student);

 结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值