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 相关文章推荐
地址栏传递中文参数乱码在js里用escape转码
Aug 28 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
推荐一个自己用的封装好的javascript插件
Jan 29 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
jQuery Easyui实现左右布局
Jan 26 Javascript
jQuery时间日期三级联动(推荐)
Nov 27 Javascript
setTimeout函数的神奇使用
Feb 26 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
angular过滤器实现排序功能
Jun 27 Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
Aug 19 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
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
php实现文章评论系统
2019/02/18 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
JS 建立对象的方法
2007/04/21 Javascript
javascript dom 操作详解 js加强
2009/07/13 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
JS交换变量的方法
2015/01/21 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
angular分页指令操作
2017/01/09 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
物流管理应届生求职信
2013/11/07 职场文书
企业文化标语大全
2014/06/10 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫