js中 ~~这个符号是什么意思
今天在看到一个关于JS对象数组Array根据对象objectkey的值排序sort代码是这样的函数定义:functionkeysrt(key,desc){returnfu...
今天在看到一个关于JS 对象数组Array根据对象object key的值排序sort 代码是这样的
函数定义:
function keysrt(key,desc) {
return function(a,b){
return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]);
}
}
使用:
var ary=[{id:1,name:"b"},{id:2,name:"b"}];
ary.sort(keysrt('name',true));
ary.sort(keysrt('name',false));
ary.sort(keysrt('id',false));
代码我运行过没问题。但是不理解函数定义里那个~~什么意思,有知道的给解释一下吗?谢谢 展开
函数定义:
function keysrt(key,desc) {
return function(a,b){
return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]);
}
}
使用:
var ary=[{id:1,name:"b"},{id:2,name:"b"}];
ary.sort(keysrt('name',true));
ary.sort(keysrt('name',false));
ary.sort(keysrt('id',false));
代码我运行过没问题。但是不理解函数定义里那个~~什么意思,有知道的给解释一下吗?谢谢 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询