Vue数组响应式操作及高阶函数使用代码详解


Posted in Javascript onAugust 01, 2020

组的响应式操作

//this.letters.push('123');//在末尾添加一个元素

//this.letters.pop();//从末尾删除一个元素
//this.letters.unshift('111');//在开端添加一个元素
//this.letters.shift();//从开端删除一个元素
//this.letters.splice(1,2);//从下标为1的元素开始删除两个元素
//this.letters.splice(1,2,'777','888');//从下标为1的元素开始删除两个元素,并插入一个新元素
//this.letters.splice(1, 0, '777', '888'); //在下标为1处插入两个元素
//this.letters.splice(2);//保留前2个元素,其他的删除掉

高阶函数

1、filter过滤函数

filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。

filter把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

const nums = [2,3,5,1,77,55,100,200];
let newArray = nums.filter(function (n) {
  //小于100就是true,进入newArray数组
  return n < 100;
})
console.log(newArray);//[2,3,5,1,77,55]

2、map高阶函数

map函数同样会遍历数组每一项,传入回调函数为参数,num是map遍历的每一项,回调函数function返回值会被添加到新数组中

const nums = [2,3,5,1,77,55,100,200];
let newArray = nums.filter(function (n) {
  //小于100就是true,进入newArray数组
  return n < 100;
})
console.log(newArray);//[2,3,5,1,77,55]

3、reduce高阶函数

reduce函数同样会遍历数组每一项,传入回调函数和‘0'为参数,0表示回调函数中preValue初始值为0,回调函数中参数preValue是每一次回调函数function返回的值,currentValue是当前值

const nums = [2,3,5,1,77,55,100,200];
let new3Array = nums.reduce(function (preValue,currentValue) {
  //数组为[2,3,5,1,77,55,100,200],则回调函数第一次返回值为0+2=2,第二次preValue为2,返回值为2+3=5,以此类推直到遍历完成
  return preValue+currentValue;
},0);//第二个参数0是preValue的初始值
console.log(new3Array);//443

4、sort排序算法

因为Array的sort()方法默认把所有元素先转换为String再排序,结果'10'排在了'2'的前面,因为字符'1'比字符'2'的ASCII码小。如果不知道sort()方法的默认排序规则,直接对数字排序,绝对栽进坑里!

//要按数字大小排序,我们可以这么写:
var arr = [10, 20, 1, 2];
arr.sort(function (x, y) {
  if (x < y) {
    return -1;
  }
  if (x > y) {
    return 1;
  }
  return 0;
}); // [1, 2, 10, 20]

//如果要倒序排序,我们可以把大的数放前面:
var arr = [10, 20, 1, 2];
arr.sort(function (x, y) {
  if (x < y) {
    return 1;
  }
  if (x > y) {
    return -1;
  }
  return 0;
}); // [20, 10, 2, 1]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 复制数组实现代码
Nov 26 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
Jun 06 Javascript
详解JavaScript中getFullYear()方法的使用
Jun 10 Javascript
常用javascript表单验证汇总
Jul 20 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
Dec 22 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
Mar 08 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
纯JavaScript实现实时反馈系统时间
Oct 26 Javascript
vue利用axios来完成数据的交互
Mar 23 Javascript
JavaScript设计模式之建造者模式实例教程
Jul 02 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
Sep 20 Javascript
vue 组件简介
Jul 31 #Javascript
three.js 制作动态二维码的示例代码
Jul 31 #Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
Jul 31 #Javascript
vue抽出组件并传值实例
Jul 31 #Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 #Javascript
Vue.js中使用Vuex实现组件数据共享案例
Jul 31 #Javascript
原生JS实现记忆翻牌游戏
Jul 31 #Javascript
You might like
逐步提升php框架的性能
2008/01/10 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
python实现备份目录的方法
2015/08/03 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
华为慧通面试题
2012/09/11 面试题
物理教育专业毕业生推荐信
2013/11/03 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
行政二审代理词
2015/05/25 职场文书
学生会主席任命书
2015/09/21 职场文书
导游词之五台山
2019/10/11 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js