数组中的方法

filter

filter方法可以过滤符合条件的数值,返回一个新数组,可以利用filter和indexOf进行数组去重操作(indexOf返回的是该数组内的值第一次出现的索引,若无该值返回-1)

var arr =[1,2,3,4,4,2] ;

arr = arr.filter((item,index)=>{(item, index) => <br>  arr.indexOf(item) === index<br>})//arr--[1,2,3,4]

some

数组.forEach方法会循环数组,且会进行一个完整的循环,无法被终止,浪费性能

数组.some方法在找到数据后就可以使用return true终止some

const arr =[1,2,3,4] ;

arr.some((item,index)=>{

if(item==="3"){

console.log(index);

retuen true

}

})

every

数组.every常用来判断是否全选,只有条件全部满足才返回true

const arr=[

{id:1,name:'zs',state:true},

{id:2,name:'zs',state:false},

{id:3,name:'zs',state:true},

]

const result = arr.every(item=>item.state)

reduce

数组.reduce是一个函数循环累加器

const arr=[

{id:1,name:'西瓜',state:true,price:10,count:1},

{id:2,name:'榴莲',state:true,price:20,count:2},

{id:3,name:'草莓',state:true,price:30,count:3},

]

//累加选中的水果价格

//普通做法

let sum = 0;

arr.filter(item=>item.state).forEach(item=>{

sum += item.price*item.count

})

//使用reduce,不用在外面定义sum,直接在方法内定义

//arr.filter(item=>item.state).reduce((结果,item)=>{},初始值)

arr.filter(item=>item.state).reduce((sum,item)=>{

return sum += item.price*item.count

},0)

最新文章

  1. javascript篇-----函数apply()和call()
  2. Vim 命令整理
  3. .net委托(转载)
  4. #include #import @class 的一些用法区别
  5. bzoj 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 曼哈顿生成树
  6. apache配置多站点
  7. 文件的哈希值不在指定的目录文件中。此文件可能已损坏或被篡(Windows10 /Windows8.1)
  8. [转] windows 上用程序putty使用 ssh自动登录Linux(Ubuntu)
  9. gridcontrol第一行为0,没有选中为-999999
  10. WP Super Cache+七牛云配置CDN加速,让你的网站秒开
  11. xamarin forms中的Button文本默认大写
  12. 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一)
  13. 蓝桥杯  历届试题 剪格子  dfs
  14. STC单片机 IAP(EEPROM)的使用
  15. java通过过滤器 设置跨域允许
  16. JSTL的比较运算符有哪些,用例说说它们的作用
  17. ASP.NET MVC学习(四)之视图View
  18. Zookeeper 系列(五)Curator API
  19. cnn 反向bp这个地方怎么推导??
  20. Python 连接Redis两中方式

热门文章

  1. KB 与 KiB
  2. Postgresql 除法保留小数位
  3. Git介绍下载安装以及基本使用
  4. Qt中的多窗体编程
  5. offer_48
  6. battery-historian耗电量测试
  7. vue-cli-serve启动报错
  8. Springboot 添加redis
  9. Linux编辑器
  10. Linux 部署apache2.4