vue中filter的使用

    computed: mapState({
items: state => state.items.filter(function (value, index, arr) {
return index <
})
}),

如上所示,对于vuex,我们在使用mapState获取state时, 可以使用filter来过滤其中的元素,在filter的回调函数中接受三个参数,第一个是value,即每一个元素的值; 第二个是index, 即每一个元素所在的index, 第三个参数是arr,即这个数组本身。 在上面的例子中,我们最终获取到了 index < 5 的01234四个元素组成的数组,显然, filter得到的还是数组。

又比如: 我们可以这么使用filter,在computed中:

     cartItems: function (state) {
var that = this;
return state.contentItems.filter(function (value, index) {
return that.filterIndex(state.numbers).indexOf(index) !== (-);
});
},

其中: 我们先用了filter,然后用自定义了一个函数,再判断一个元素是否在一个数组之中。

快速判断一个数是否在一个数组中

有下面几种方法可以实现:

[, , , ].indexOf() !== -

上述表达式如果返回的不是-1, 就说明满足,比如上面的例子返回的时3所以属于。

这是判断一个数是否在一个数组中最快的方法。

二、

  使用[5, 2, 63, 8].includes(5), 如果返回true,则表明包含,但是includes在一些浏览器中并不支持,所以不能使用。

 

vuex中filter的使用 && 快速判断一个数是否在一个数组中的更多相关文章

  1. Java数组操作方法收集(快速判断某个值在这个数组中)

    Java数组操作最高效的方式是循环取值,如果转换成集合那么就会分配内存,效率不如前者,但是方法多,需要在性能调优上去权衡.切记:数组是数组,集合是集合. 下面是收集最常用的数组转成集合的操作方法: i ...

  2. python中如何不区分大小写的判断一个元素是否在一个列表中

    python中判断某一个元素是否在一个列表中,可以使用关键字in 和 not in. 示例如下: 如果需要输出相应的信息,可以搭配使用if语句,这里不赘述. --------------------- ...

  3. JavaScript 中 如何判断一个元素是否在一个数组中

    <script type="text/javascript"> var arrList=['12','qw','q','v','d','t']; console.log ...

  4. js 判断一个数是否在数组中

    ,,,,,,,); ; ; i < arr.length; i++) { ){ console.log(i); flag=; break; } } ){ console.log("66 ...

  5. php判断一个值是否在一个数组中,区分大小写-也可以判断是否在键中

    function in_array_case($value,$array){ return in_array(strtolower($value),array_map('strtolower',$ar ...

  6. 腾讯面试题 腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?

    腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?  这个题目已经有一段时间了,但是腾讯现在还在用来面试.腾讯第一次面 ...

  7. JS 判断一个字符串是否包含在一个数组中

    var arr = ["白色", "黑色", "红色", "粉色"]; var sel = "黑色" ...

  8. js判断一个元素是否在数组中

    js判断一个元素是否在数组中 var arr = ['a','s','d','f']; console.info(isInArray(arr,'a'));//循环的方式 function isInAr ...

  9. 【JS】【6】判断一个元素是否在数组中

    摘要: 有三种方式: 1,jquery的inArray方法 2,数组的indexOf方法 3,普通的for循环方法 正文: 1,jquery的inArray方法 /** * @param {Objec ...

随机推荐

  1. [.net 多线程]CountdownEvent

    System.Threading.CountdownEvent 是一个同步基元,它在收到一定次数的信号之后,将会解除对其等待线程的锁定.CountdownEvent在初始化时有一个初始计数量,在每个工 ...

  2. 移植 libevent-2.0.22-stable 到ARM平台

    ARM 移植: 移植简单来讲就是使用ARM的编译环境,重新编译一份ARM平台上可以使用的库或执行文件,一般只需要重新制定C编译器和C++编译器即可. 特别注意的地方: 不能从windows解压文件后再 ...

  3. Android app如何加密?

    欢迎访问网易云社区,了解更多网易技术产品运营经验. Android App包含的内容有dex文件,so文件,res,assets资源文件.对应的加密按此内容分为三大方面:dex保护.so加密.资源保护 ...

  4. 二、安装Node.js和npm

    1.Note的各个版本官方下载地址: https://nodejs.org/en/download/releases/ 这里我们选择7.6版本为例进行下载安装: 根据自己的情况下载对应的msi安装包 ...

  5. mysql设计-基本操作

    mysql 设计 1)服务器管理 2)数据库管理 3)表管理 4)字段管理 5)索引管理 操作 1)sql语句 2)单表操作 3)多表操作 索引 记录 字段 mysam innodb ibdata1 ...

  6. Python——requests的安装及入门-贴吧爬虫

    一.windows平台下requests的安装 1.win+R,输入cmd,打开命令行窗口,输入命令:pip install requests ,即可自动安装库成功 2.输入命令:pip list,即 ...

  7. SDUT OJ 顺序表应用3:元素位置互换之移位算法

    顺序表应用3:元素位置互换之移位算法 Time Limit: 1000 ms Memory Limit: 570 KiB Submit Statistic Discuss Problem Descri ...

  8. select和epoll的实现

    select:fd_set是输入结果参数,每次select之后,还得重置fd_set (1)使用copy_from_user从用户空间拷贝fd_set到内核空间,第一步需要复制所有感兴趣的文件描述符到 ...

  9. Spring boot redis自增编号控制 踩坑

    近段期间,公司 接手一个订单号生成服务,规则的话已经由项目经理他们规定好了,主要是后面的四位数代表的关于当前订单号已经执行第几个了.而这里面有一个要求就是支持分布式.为了实现这个东西,刚开始我使用了r ...

  10. 提交post请求,参数为xml格式

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...