• js数组的深入


    1、数组中的哪些方法是响应式的?

    因为Vue是响应式的,所以当数据发生变化时,Vue会自动检测数据变化,视图会发生对应的更新

    Vue中包含了一组观察数组编译的方法,使用它们改变数组也会触发视图的更新

    1)push方法  ==> 响应式
     this.letters.push('F');
    
    2)pop (删除数组中的最后一个元素) ==> 响应式
     this.letters.pop();
     
    3)shift() 删除数组中的第一个元素
     this.letters.shift();
    
    4)unshift() : 在数组的最前面添加一个元素
     
    5)splice()的作用:删除元素、插入元素、替换元素
    删除元素时:splice(start,num) 表示从start开始,删除num个元素。如果不传值,表示删除后面的所有元素
    替换元素:splice(start,num,’a','b','c'): 第二个参数表示要替换几个元素,后面的 ‘a','b'表示要替换的元素
    插入元素:splice(1,0,'x','y','z') : 第二个参数传入0,表示在第一个元素后面插入‘x','Y','z'
    
    6)sort():对数组进行排序
    
    7)reverse():反转数组
    this.letters.reverse();
    
    8)注意通过索引值来修改数组的元素,不是响应式的
    //this.letters[0] = "aaa";
    //可以通过以下两种方式解决
    this.letters.splice(0,1,"aaa");
    Vue.set(this.letters,0,"aaa");


    2、JavaScript高阶函数的使用

    1)循环的三种方式
    for(let i=0;i<this.books.length;i++){
    }
    
    for(let i in this.books){
      // i 是数组中元素的索引
    }
    
    for(let item of this.books){
     // item 是数组中的元素
    }
    
    2)filter的使用
    // filter的回调函数有一个要求:必须返回一个boolean值
    // 当返回值为true时,函数内部会自动将这次回调的n加入到新的数组中
    // 当返回值为false时,函数内部会过滤掉这次的n
    // 回调函数的参数 n: 遍历过程中,每次遍历到的元素
    let newNums = nums.filter(function (n) {
      return n<100;
    })
    console.log(newNums);
    
    3)map的使用
    // 对数组中的所有元素做某个操作,然后放到新的元素中
    let newNum2 = newNums.map(function (n) {
      return n*2;
    })
    console.log(newNum2);
    
    4)reduce的使用
    //作用:对数组中的所有内容进行汇总
    //reduce(参数一,参数二) 参数一:函数 参数二:初始值
    let total = newNum2.reduce(function (preValue,n) {
      return preValue+n;
    },0)
    console.log(total);
    
    //第一次:preValue:0  n:20
    //第二次:preValue:20  n:40
    //第三次:preValue:60  n:60
    //第四次:preValue:120  n:80
  • 相关阅读:
    疲劳的一天
    Singleton模式与对象池的假设....
    没有杀死我的 (创伤心理学简介)
    Python深入03 对象的属性
    协议森林14 逆袭 (CIDR与NAT)
    Python深入05 装饰器
    协议森林06 瑞士军刀 (ICMP协议)
    数据可视化的秘密
    协议森林
    协议森林13 9527 (DNS协议)
  • 原文地址:https://www.cnblogs.com/houchen/p/14425586.html
Copyright © 2020-2023  润新知