zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/houchen/p/14425586.html
Copyright © 2011-2022 走看看