“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
1,forEach方法
迭代(遍历) 数组
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。
<script> // forEach 迭代(遍历) 数组 var arr = [1, 2, 3]; var sum = 0; arr.forEach(function(value, index, array) { console.log('每个数组元素' + value); console.log('每个数组元素的索引号' + index); console.log('数组本身' + array); // 数组本身1,2,3 sum += value; }) console.log(sum); // 6 </script>
2,filter
filter 查找满足条件的元素 返回的是一个数组 而且是把所有满足条件的元素返回回来
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
<script> // filter 筛选数组 var arr = [12, 66, 4, 88, 3, 7]; var newArr = arr.filter(function(value, index) { // return value >= 20; return value % 2 === 0; }); console.log(newArr); // [12, 66, 4, 88] </script>
<script> let arr= [ {id:1,name: "a", age: 12}, {id:2,name: "b", age: 15}, {id:3,name: "c", age: 16}, {id:4,name: "d", age: 17}, {id:5,name: "e", age: 14}, {id:5,name: "f", age: 10}, {id:5,name: "g", age: 19} ] let newarr=arr.filter(function(item){ return item.age>15 }) console.log(newarr) // [{id: 3, name: 'c', age: 16} // {id: 4, name: 'd', age: 17} // {id: 5, name: 'g', age: 19}] </script>
3,find
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
<script> let arr = [1, 2, 3]; let arr1 = arr.find(function (item) { return item >= 2 }); console.log( arr1); // 2 </script>
4,some
some 查找满足条件的元素是否存在 返回的是一个布尔值 如果查找到第一个满足条件的元素就终止循环
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
<script> // some 查找数组中是否有满足条件的元素 // var arr = [10, 30, 4]; // var flag = arr.some(function(value) { // // return value >= 20; // return value < 3; // }); // console.log(flag); var arr1 = ['red', 'pink', 'blue']; var flag1 = arr1.some(function(value) { return value == 'pink'; }); console.log(flag1); // true // 1. filter 也是查找满足条件的元素 返回的是一个数组 而且是把所有满足条件的元素返回回来 // 2. some 也是查找满足条件的元素是否存在 返回的是一个布尔值 如果查找到第一个满足条件的元素就终止循环 </script>
5,map
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
<script> let arr = [2,3,5,6,7,8] let arr1 = arr.map(function(item){ return item >5; }) console.log(arr1)//[false,false,false,true,true,true] </script>
6,reduce
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
注意: reduce() 对于空数组是不会执行回调函数的。
<script> var numbers = [65, 44, 12, 4]; function getSum(total, num) { return total + num; } var num = [1, 2, 3] console.log(numbers.reduce(getSum)); // 125 console.log(numbers.reduce(getSum,1000)); // 1125,可以定义初始值 console.log(num.reduce(getSum)); // 6 console.log(num.reduce(getSum,2000)); // 2006 var num2 = [] // console.log(num2.reduce(getSum)); // 没有初始值,会报错 console.log(num2.reduce(getSum,2000)); // 2000 </script>
7,every
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
<script> let arr = [2, 4, 6, 8]; let flag = arr.every(function(item) { return item > 6 }); console.log(flag); // false </script>