对象的创建以及数组中常见的属性与方法

本文介绍了JavaScript中创建对象的三种方式:对象字面量、newObject以及构造函数。详细讲解了构造函数的原理及作用。此外,还讨论了Object的静态方法如keys、values和assign,以及Array的内置方法reduce用于求和的操作和find方法用于查找特定对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)对象创建的三种方法

1、利用对象字面量创建对象

 const obj={

            name:'小开心'

         }

2、利用new Object创建对象

 const obj1=new Object({

            name:'小开心'

         })

3、利用构造函数创建对象

构造函数:是一种特殊的函数,主要用来初始化对象,构造函数可以快速创建多个类似的对象

约定:(1)他们的命名以大写字母开头(2)他们只能用new操作符来执行

function Animals(name,age,color){

            this.name=name;

            this.age=age;

            this.color=color

         }

         const cat=new Animals('小猫',3,'黑色')

         const dog=new Animals('小狗',2,'白色')

         const pig=new Animals('猪',3,'白色')

4、new一个构造函数发生了什么

(1)创建新对象

(2)构造函数的this指向新对象

(3)执行构造函数代码,修改this,添加新属性

(4)返回新对象

(二)内置构造函数

1、Object静态方法

(1)Object.keys(对象) 获取对象中所有的键

 const obj={name:'小开心',age:21}

         console.log(Object.keys(obj))

(2)Object.values(对象) 获取对象中所有的值

 const obj={name:'小开心',age:21}

  console.log(Object.values(obj))

(3)Object.assign(拷贝给谁,被拷贝对象)

const obj={name:'小开心',age:21}

 const obj1={}

 Object.assign(obj1,obj)

 console.log(obj1)

对象的拷贝经常用于给对象添加属性

Object.assign(obj,{gender:'女'})

2、Array内置构造函数

(1)reduce返回累计处理的结果,经常用于求和

        数组.reduce(function(上一次的值,这一次的值){},初始值)

  (1.1)、reduce的执行过程

  • 如果没有起始值,则上一次的值以数组的第一个元素的值
  • 每一次循环,把 返回值给作为下一次循环的上一次的值
  • 如果有起始值,则起始值作为上一次的值

 (1.2)求和操作

 const arr=[1,4,6,8,10]

        const total=arr.reduce(function(pre,current){

            return pre+current

        },10)

        console.log(`数组的和为:${total}`)

//箭头函数 写法

const total=arr.reduce((pre,current)=>pre+current,10)

console.log(`数组的和为:${total}`)

 (2)数组中常见的方法

(2.1)find方法

find为查找,在多个对象里面只查找符合条件的对象,可以根据姓名进行查找

 const arr=[{

            name:'小米',

            price:'1999'

        },

        {

            name:'华为',

            price:'2999'

        }

    ]

    const mi=arr.find(function(item){

        return item.name==='小米'

    })

    console.log(mi)

 (2.2)form方法  伪数组转换为真数组

Array.form(伪数组)将伪数组转换为真数组后可以利用真数组中的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值