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 Event学习第七章 事件属性
Feb 07 Javascript
简单的两种Extjs formpanel加载数据的方式
Nov 09 Javascript
jQuery scroll事件实现监控滚动条分页示例
Apr 04 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
Apr 12 Javascript
js实现鼠标经过表格行变色的方法
May 12 Javascript
微信小程序 swiper组件详解及实例代码
Oct 25 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
Nov 16 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
Vue.js基础知识小结
Jan 13 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 Javascript
Element el-button 按钮组件的使用详解
Feb 01 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中上传多个文件的表单设计例子
2014/11/19 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
vue-for循环嵌套操作示例
2019/01/28 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python登录豆瓣并发帖的方法
2015/07/08 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python爬取三国演义的实现方法
2016/09/12 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
Python利用命名空间解析XML文档
2020/08/10 Python
python两种注释用法的示例
2020/10/09 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
大学应届毕业生个人求职信
2013/09/23 职场文书
财务部出纳岗位职责
2013/12/22 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
纪检监察建议书
2014/05/19 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python