对象的创建以及数组中常见的属性与方法
创始人
2025-05-30 18:47:32
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(伪数组)将伪数组转换为真数组后可以利用真数组中的方法

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...