对象1111

数组

  • 含义
  • 创建
  • 添加数据
  • 获取数据
  • 删除数据
  • 修改数据
  • 遍历数组
  • 查询数组里面是否有某一个数据
  • 数组的去重
  • 数组的反转
  • 数组的拼接
  • 数组的排序

数组的拓展

  • forEach
    • 可以替代for循环 获取到数组里面的每一项和下标
        // item 代表数组里面的每一项数据
        // index 代表数组的下标
        数组名.forEach(function(item, index){
    
        })
    
  • map
    • 根据一个数组计算之后得到一个计算后的新数组
        var 新数组 = 数组名.map(function(item, index){
            // 需要有一个返回值
            return 数据
            // 会将这个数据 放到一个新数组
        })
    
  • filter
    • 根据某一个条件过滤一个数组 得到一个过滤后的新数组
        var 新数组 = 数组名.filter(function(item, index){
            // 需要有一个返回值
            // 返回一个条件
            return 条件
            // 如果条件为真 就会把item放到新数组里面  如果条件为假 就会把item去掉了
        })
    
  • some
    • 判断数组里面是否有满足条件的数据
        var 布尔值 = 数组名.some(function(item, index){
            // 需要有一个返回值
            // 返回一个条件  拿每一项item和条件进行比较
            return 条件
            // 最终会返回一个布尔值  只要有一项满足 就返回true 所有的都不满足才会返回false
        })
    
  • every
    • 判断数组里面是否每一项都满足
        var 布尔值 = 数组名.every(function(item, index){
            // 需要有一个返回值
            // 返回一个条件  拿每一项item和条件进行比较
            return 条件
            // 所有的数据都满足才会返回true
        })
    
  • reduce
    • 用于数组的计算操作
        var 结果 = 数组名.reduce(function(prev, cur){
            // prev 为上一次的结果 如果有初始值 第一次就是初始值  如果没有传初始值 会默认将数组的第一项当成初始值
            // cur 为当前项
        }, 初始值) // 一般求和的时候初始值为0  求乘积的时候初始值为1
    

对象 Object

  • 含义:是一种数据类型 属于复杂数据类型

  • 具有键值对(key-value)结构的数据集合

  • 创建对象

    1. 字面量
      • var 对象名 = {}
    2. 内置构造函数
      • var 对象名 = new Object()
  • 动态添加数据

    1. 点语法
      • 对象名.键名 = 值
    2. 下标法
      • 对象名[‘键名’] = 值
  • 动态修改数据

    1. 点语法
      • 对象名.键名 = 值
    2. 下标法
      • 对象名[‘键名’] = 值
  • 获取数据

    1. 点语法
      • 对象名.键名
    2. 下标法
      • 对象名[‘键名’]
    • 当我们访问一个对象里面不存在的key 那么得到的值是undefined 和数组的越界访问相似
  • 删除数据

    1. 点语法
      • delete 对象名.键名
    2. 下标法
      • delete 对象名[‘键名’]
  • 遍历对象的数据

    • for循环是无法遍历对象
    • for…in
        for(var key in 对象名) {
            console.log(key) // 对象的键名
            console.log(对象名[key]) // 因为此时的键名是一个变量
            // 对象名.key 或者 对象名['key'] 这时候就会把键名当成固定值 就会去对象里面查找一个键名叫做key
        }
    
  • 对象特性

    1. 键名的唯一性
  • 对象没有length属性

  • 存储具有一定逻辑关系的数据: 一个商品

    // 一个商品
    var product = {
        goodsName: '迫击炮',
        price: 999.99,
        src: 'https://gimg3.baidu.com/rel/src=https%3A%2F%2Fgips3.baidu.com%2Fit%2Fu%3D3089995048%2C1288775178%26fm%3D3028%26app%3D3028%26f%3DPNG%26fmt%3Dauto%26q%3D99%26size%3Df1138_640&refer=http%3A%2F%2Fwww.baidu.com&app=2010&size=w560&n=0&g=0n&q=100&fmt=auto?sec=1680714000&t=0d7eb162ae745dc6077104f94931422b',
        saleCount: 1000000
    }
    // 多个商品
    var goodsList = [
        {
            goodsName: '迫击炮',
            price: 999.99,
            src: 'https://gimg3.baidu.com/rel/src=https%3A%2F%2Fgips3.baidu.com%2Fit%2Fu%3D3089995048%2C1288775178%26fm%3D3028%26app%3D3028%26f%3DPNG%26fmt%3Dauto%26q%3D99%26size%3Df1138_640&refer=http%3A%2F%2Fwww.baidu.com&app=2010&size=w560&n=0&g=0n&q=100&fmt=auto?sec=1680714000&t=0d7eb162ae745dc6077104f94931422b',
            saleCount: 1000000
        },
        {
            goodsName: '迫击炮',
            price: 999.99,
            src: 'https://gimg3.baidu.com/rel/src=https%3A%2F%2Fgips3.baidu.com%2Fit%2Fu%3D3089995048%2C1288775178%26fm%3D3028%26app%3D3028%26f%3DPNG%26fmt%3Dauto%26q%3D99%26size%3Df1138_640&refer=http%3A%2F%2Fwww.baidu.com&app=2010&size=w560&n=0&g=0n&q=100&fmt=auto?sec=1680714000&t=0d7eb162ae745dc6077104f94931422b',
            saleCount: 1000000
        }
    ]

js的数据存储方式

  • 数据类型

    • 基础数据类型
      • number string boolean undefined null
    • 复杂数据类型(引用数据类型)
      • object array
  • 在js里面存储数据有两种方式

    • 栈内存: 小 js在使用数据的时候只会在栈里面查找
    • 堆内存: 大 在堆里面每存储一个数据 都会返回这个内存空间的地址(引用)
    • 基础数据类型变量名和值都是存储在栈内存里面
    • 复杂数据类型变量名是存储在栈里面 数据不是存储在栈里面的 是存储堆里面的 在栈里面存储是一个堆内存空间的地址
  • 值比较和引用比较

    • 两个基础数据类型的比较是拿值进行比较的 只要长得一模一样 就相等
    • 两个复杂数据类型的比较是拿地址(引用)进行比较的 即使长得一模一样 也不相等
  • 值传递和引用传递

    • 两个基础数据类型的赋值 是将一个变量的值传递给另一个变量 这个过程叫做值传递 一个变化 另一个不会受到影响
    • 两个复杂数据类型的赋值 是将一个变量的地址传递给另一个变量 这个过程叫做引用传递 一个变化 另一个也会受到影响
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值