“最难不过坚持”
本人承接扒站仿站,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事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
Array.prototype.sort()
sort()方法采用原地算法对数组进行排序,并返回数组。默认排序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的。
用法
语法:arr.sort([compareFunction(a, b)])
参数:用来指定按某种顺序进行排列的函数。如果省略,元素按照转换后的字符串的各字符的Unicode位点进行排序。
比较函数的参数:
a:第一个用于比较的元素
b:第二个用于比较的元素
描述
如果没有指定比较函数,那么数组按照转换后的字符串的各字符的Unicode位点进行排序。
如果指明了比较函数,那么数组按照调用该函数的返回值进行排序。
如果compareFunction(a,b)小于0,那么a排b前面
如果compareFunction(a,b)大于0,那么a排b后面
如果compareFunction(a,b)等于0,那么a,b的相对位置不变
实例一:给数字数组排序
升序
arr.sort((a, b) => {
return a - b
})
降序
arr.sort((a, b) => {
return b - a
})
实例二:对象数组按照某个属性排序
测试对象:
var items = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 },
{ name: 'And', value: 45 },
{ name: 'The', value: -12 },
{ name: 'Magnetic' },
{ name: 'Zeros', value: 37 }
];
按照value升序排列
items.sort((a, b) => {
return a.value - b.value
})
上面的代码其实有点问题,因为数组中有一项没有value属性。
2. 按照name升序排列
items.sort((a, b) => {
const nameA = a.name.toUpperCase()
const nameB = b.name.toUpperCase()
if(nameA < nameB) return -1
if(nameA > nameB) return 1
return 0
})
注意:
该方法会改变原数组