当前位置: 首页 > news >正文

javascript-es6 (五)

内置构造函数

在 JavaScript 中 最主要 的数据类型有 6 种:
基本数据类型:
   字符串、数值、布尔、undefined、null
引用类型:
   对象
但是,我们会发现有些特殊情况:
//普通字符串
const str = 'peiqi'
console.log(str.length)  //5
//出现这种情况的原因:在js底层中,将一些 简单的数据类型 包装成了 引用数据类型 
const str = new String('peiqi') 
其实字符串、数值、布尔、等基本类型也都有专门的构造函数,这些我们称为包装类型。
JS中几乎所有的数据都可以基于构成函数创建
引用类型
   Object,Array,RegExp,Date 等
包装类型
   String,Number,Boolean 等

Object

Object 是内置的构造函数,用于创建普通对象


​​
学习三个常用静态方法(静态方法就是只有构造函数Object可以调用的)

//需求:要想获取对象里面的属性和值,该怎么做?
const peiqi = {name:'佩奇',age:18}

//传统方法:
for(let k in peiqi){
    console.log(k)  //name age
    console.log(peiqi[k])  //佩奇 18
}

Object.keys 静态方法获取对象中所有属性(键) 

const peiqi = {name:'佩奇',age:18}
//获得对象的所有键,并且返回的是一个数组
const arr = Object.keys(peiqi)
console.log(arr)  //['name','age']

注意: 返回的是一个数组
Object.values 静态方法获取对象中所有属性值

const peiqi = {name:'佩奇',age:18}
//获得对象的所有属性值,并且返回的也是一个数组
const arr = Object.values(peiqi)
console.log(arr)   //['佩奇',18]

注意: 返回的也是一个数组

Object. assign 静态方法常用于对象拷贝

//拷贝对象 把 peiqi 拷贝给 obj
const peiqi = {name:'佩奇',age:18}
const obj = {}
Object.assign(obj,peiqi)
console.log(obj)  //{name:'佩奇',age:18}

经常使用的场景是:给对象添加属性

//给 peiqi 新增属性
const peiqi = {name:'佩奇',age:18}
Object.assign(peiqi,{gender:'女'})
console.log(peiqi)  //{name:'佩奇',age:18,gender:'女'}

Array

Array 是内置的构造函数,用于创建数组
1. 数组常见实例方法 - 核心方法

作用: reduce 返回函数累计处理的结果,经常用于求和等
   基本语法:
//arr.reduce(function(上一次值,当前值){}, 初始值)
const arr = [1,2,3]

//1.没有初始值
const total = arr.reduce((prev,current) {
    return prev + current
})
console.log(total)  //6

//2.有初始值
const total = arr.reduce((prev,current) {
    return prev + current
},10)
console.log(total)  //16
累计值参数:
1. 如果有起始值,则以起始值为准开始累计, 累计值 = 起始值
2. 如果没有起始值, 则累计值以数组的第一个数组元素作为起始值开始累计 {如果第一个数组元素是对象,则必须要设置初始值}
3. 后面每次遍历就会用后面的数组元素 累计到 累计值 里面 (类似求和里面的 sum )

2. 数组常见方法-其他方法
实例方法  find() 查找元素,返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回underfined(重点)
const arr = ['red', 'blue', 'green']

    const re = arr.find((item) => {
        return item === 'blue'
})
    console.log(re);

应用:

const arr = [
    {name:'苹果',price:12},
    {name:'香蕉',price:18}
]
//找苹果这个对象,并且返回这个对象
const apple = arr.find(function(item){
    return item.name === '苹果'
})
console.log(apple) /*{name:'苹果',price:12}*/

实例方法 every() 测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值

const arr = [1, 2, 3, 4]
    const re = arr.every((item) => {
    return item > 2
})
    console.log(re)  //false

实例方法 some() 检测数组中的元素是否满足指定条件,如果数组中有元素满足条件返回true,否则返回false

相关文章:

  • redission的原理
  • JS UI库DHTMLX Suite 发布v9.1:具有行扩展器、多重排序、多用户后端等功能的网格
  • 《算法笔记》9.6小节 数据结构专题(2)并查集 问题 A: 通信系统
  • IO 和NIO有什么区别?
  • 2025.2.26总结
  • 机试刷题_面试题 08.08. 有重复字符串的排列组合【python】
  • 算法day1 dfs搜索2题
  • 智绘教:Windows平台上的高效悬浮窗画笔工具深度解析
  • mac 安装Eclipse,汉化及安装ERMaster
  • 搜索赋能:大型语言模型的知识增强与智能提升
  • mamba,mamba2环境搭建
  • # C/C++右移高位补0还是1?
  • eclipse配置Spring
  • 数据安全_笔记系列07:数据泄露防护(DLP)(监控与阻断敏感数据外泄)深度解析
  • AI创作教程:用deepseek和猫箱做互动故事游戏
  • NLP的预处理数据
  • 磁盘使用LVM方式挂载目录
  • 【xinference 词嵌入】embbeding 使用教程
  • 大白话Vue 双向数据绑定的实现原理与数据劫持技术
  • 【10】RUST的迭代器与闭包
  • 证券日报:降准今日正式落地,年内或还有降准空间
  • 马上评|安排见义勇为学生补考,善意与善意的双向奔赴
  • 哪种“网红减肥法”比较靠谱?医学专家和运动专家共同解答
  • 公元1058年:柳永词为什么时好时坏?
  • 微软将在全球裁员6000人,目标之一为减少管理层
  • 当代科技拟召开债券持有人会议 ,对“H20科技2”进行四展