对象的创建以及数组中常见的属性与方法
创始人
2025-05-30 19:21:28
0

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

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

相关内容

热门资讯

MOCO论文前几段精读 MoCo MoCo是CVPR 2020的最佳论文提名,算是视觉领域里,使...
三、DMSP/OLS、NPP/... 一、前言 当我们计算完灯光总值——SUM后以及整理好统计年鉴的能源碳排放数据之后,就可以进行拟合方程...
ElementUI学习笔记 目录 一、简单介绍 二、安装 1、下载 2、引入 三、布局 1、简介 2、使用 3、好处 四、布局容...
食品如何寄国际快递到美国 食品如何寄国际快递到美国?随着全球化进程的加快,国际快递服务已经成为人们...
【分享】为什么我设计的PCB很... 同事都很奇怪,为什么我设计的PCB都很少出错,而他们设计的PCB...
【UML统一建模思想】2万字超... 🌈博客主页:屠一乐的博客 📅 发文时间:...
519-基于ZU19EG的4路... 基于ZU19EG的4路100G 网络 DPU的PCIe 加速计算卡 一、板卡概述  ...
C/C++程序编译与链接(五)... 文章目录在构建过程中定位库静态库的命名规则动态库的命名规则运行时动态库的定位规则`LD_LI...
【小猫爪】AUTOSAR学习笔... 【小猫爪】AUTOSAR学习笔记11-Communication Stack之StbM模块前言1 S...
组团去张家界两个人花多少钱?2... 组团去张家界两个人花多少钱?2个人1280全搞定!——我的亲身经历分享 哈喽,大家好!我是小李,上...
三亚和北海究竟哪个更适合候鸟呢... 三亚与北海:候鸟们的终极抉择? 嘿,朋友们!随着冬天的临近,不少“候鸟族”又开始琢磨着找个温暖的地...
adb常用指令 echo mem > /sys/power/state // kernel休眠echo on > /...
案例分享 | 金融微服务场景下... ​云原生环境下金融业务的微服务化改造以及分布式架构的部署,使得业务与开发部门的关联更为...
2022年18个值得期待的Le... 有数百个独特的LearnDash附加组件,您可能很难选择您的LearnDash LMS...
原创 4... 看多了娱乐圈分手、离婚的消息,就显得能长久甜蜜的明星CP难得。 近日,结婚已经17年的佟大为和关悦晒...
JS面试题 执行机制是怎样的? 定义: js是一个单线程,异步,非阻塞I/O模型ÿ...
IS200TREGH1BEC人... IS200TREGH1BEC人工智能只是一种技术人工智能会超越人类?近年来࿰...
基于C++的AI五子棋游戏项目... 项目资源下载 基于C++的AI五子棋游戏项目源码压缩包下载地址基于C+...
原创 张... 在经历了婚姻的旅程后,张纪中和杜星霖迎来了四个可爱的孩子:女方为家庭增添了两位小公主和一位小王子,加...