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

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

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(伪数组)将伪数组转换为真数组后可以利用真数组中的方法

猜你喜欢

转载自blog.csdn.net/qq_50582468/article/details/129596507