当前位置:网站首页>js中数组遍历的方法

js中数组遍历的方法

2022-06-09 10:38:00 printf('小白');

js中数组遍历的方法

foreach

  • 遍历数组,一旦开始不能被停止
  • 参数可以两个,一个代表每个元素的值,两个中另一个代表index的值,还可以传入其他参数被放置在后续
<script> const arr = ['小红','大红','苏大强','宝儿'] // foreach一旦开始就无法在中间停止 arr.forEach((item,index)=>{
       console.log(item + '======' + index); if(item == '苏大强'){
       console.log('苏大强的索引号:'+ index); } }) </script>

some

  • 开始之后在满足条件之后可以通过return true来结束遍历
<script> // some找到索引之后return true固定写法后续不再执行 arr.some((item,index)=>{
       console.log(item + '======' + index); if(item == '苏大强'){
       console.log('苏大强的索引号:'+ index); return true } }) </script>

every

  • 有返回值
  • 判断是否满足条件,任何一项不满足条件就返回false
<script> const arr1 = [ {
      id:1 , name:'西瓜', state:true}, {
      id:2 , name:'榴莲', state:false}, {
      id:3 , name:'草莓', state:true} ] // 判断是否满足条件,任何一项不满足条件就返回false const result = arr1.every(item => item.state == true) console.log(result); </script>

filter

  • 过滤满足条件得数组内的元素
  • arr2.filter(item => item.state == true)
<script> const arr2 = [ {
      id:1 , name:'西瓜', state:true, price:10, count: 1}, {
      id:2 , name:'榴莲', state:false, price:80, count: 2}, {
      id:3 , name:'草莓', state:true, price:20, count: 3} ] // 判断是否满足条件,任何一项不满足条件就返回false let amt = 0; arr2.filter(item => item.state == true).forEach(item => {
       amt += item.price*item.count; }) console.log("amt: ",amt); </script>
			

reduce

  • 累加每次便利的值
  • 格式:arr2.reduce((累加结果,当前循环项)=>{return 累加之后得结果}, 初始值)
<script> const arr2 = [ {
      id:1 , name:'西瓜', state:true, price:10, count: 1}, {
      id:2 , name:'榴莲', state:false, price:80, count: 2}, {
      id:3 , name:'草莓', state:true, price:20, count: 3} ] // 把每次循环的结果累加起来 // arr2.filter(item => item.state == true).reduce((累加结果,当前循环项)=>{return 累加之后得结果}, 初始值) const amt1 = arr2.filter(item => item.state == true).reduce((amt,item)=>{
       return amt += item.price*item.count }, 0) // 另外一种写法 // const amt1 = arr2.filter(item => item.state == true).reduce((amt,item)=> amt += item.price*item.count, 0) console.log(amt1); </script>
原网站

版权声明
本文为[printf('小白');]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_44808710/article/details/125171645