JS的sort排序方法
web JavaScript 2023-01-30 873 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

7439505 2655 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

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
})
注意:

该方法会改变原数组

版权声明:本篇文章来源于网络。 来源链接

相关推荐
return和return false的区别
JavaScript | 2020-08-26 20219
1. return返回null,起到中断方法执行的效果,只要不return false事件处理函数将会继续执行,表单将提交 2. return false,事件处理函数会取消事件,不再继续向下执行。比如表单将终止提交。 <script> function validateForm(){ var username...
console.log怎样输出换行
JavaScript | 2020-04-17 14691
两个console.log()之间默认是换行的,不用单独处理,如果想输出换行,可以用 console.log( '\n' ); 其他内容 如果同时打印数字和字符串,并且数字在前,打印字符串会添加引号显示。 console.log('test',1) ==》test 1 console.log(1,'test') ...
评论:0条
评论加载中...
发表评论