亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - js先按照age排序 age相同再按照top排序

瀏覽:79日期:2023-02-08 09:51:34

問題描述

var obj = [{id : 1,age : 20, top :5 },{id : 3,age : 21, top : 6 },{id : 2,age : 20, top : 8 }] function keysort(property) { return function(a, b) { var value1 = a[property] == ’-’ ? 0 : a[property]; var value2 = b[property] == ’-’ ? 0 : b[property]; return value1 - value2; } } var obj1 = obj.sort(keysort(’age’));寫一半 不會寫了 age相同的情況下 再按照top從高到低排序 想請教下老司機

問題解答

回答1:

這個啰嗦的啊...

obj.sort( function(curr,next) { return !!( curr.age-next.age )? curr.age-next.age: curr.top-next.top;} );

這不就好了嗎

回答2:

用自帶的就是了

obj = obj.sort((a, b) => { return a.age - b.age || b.top - a.top;} ); console.log(obj);

因為你說的是 top從高到低排序 這種寫法是數字越大越在前面 你要是想要越小的話 你修改一下位置就好了 b.top - a.top 改成 a.top - b.top

回答3:

在線體驗 https://jsfiddle.net/hguyjgs8/1/

//假設top 不大于1000, 大于1000的,適度修改var obj = [{ id: 1, age: 20, top: 5}, { id: 3, age: 21, top: 6}, { id: 2, age: 20, top: 8}]function pad(num, size) { var s = num + ''; while (s.length < size) s = '0' + s; return s;}obj.sort((a, b) => pad(a.age, 2) + pad(1000-a.top, 3) > pad(b.age, 2) + pad(1000-b.top, 3)).forEach((i) => { document.writeln(JSON.stringify(i)+’<br>’);});回答4:

function keySort (...args) { let props = args.map(name => {let desc = name[0] === ’-’if (desc) name = name.substring(1)return { desc, name } })return (a, b) => {let result = 0for (let prop of props) { let p = prop.name result = prop.desc ? b[p] - a[p] : a[p] - b[p] if (result) return result}return result }}obj.sort(keySort(’age’, ’-top’))

https://jsfiddle.net/sojxjqpf/

回答5:Who First

var whoFirst = [’age’, ’top’]; var copy = o => JSON.parse( JSON.stringify(o)); var judge = (a, b, whos) => { if (whos.length === 0) return 0; let key = whos[0]; if (a[key] !== b[key]){return a[key] - b[key]; } else {return judge(a, b, whos.slice(1)); }}Next

var sorts = arr => { let a = copy(arr); a.sort((a, b) => {return judge(a, b, whoFirst); }); return a; }S

WhoFirst 升序。

var obj = [{ id : 1, age : 20,top :5},{ id : 3, age : 21,top : 6},{ id : 2, age : 20,top : 8},{ id: 4, age: 20, top: 2},{ id: 8, age: 20, top: 2},{ id: 5, age: 20, top: 11},{ id: 7, age: 20, top: 9},{ id: 6, age: 20, top: 2},{ id: 9, age: 20, top: 1}]; sorts(obj);

javascript - js先按照age排序 age相同再按照top排序

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 中文字幕在线看片成人 | 美女视频免费黄的 | 免费看毛片网 | 免费一级毛片在线播放视频 | 国产欧美一区二区三区沐欲 | 日韩色视频一区二区三区亚洲 | 91香蕉视频成人 | 欧美高清一级啪啪毛片 | 日韩欧美在线看 | 国产a级三级三级三级中国 国产a级特黄的片子视频 | 国产a一级毛片午夜剧院 | 神马午夜在线 | 99久久精品国产综合一区 | 三级网站视频 | 亚洲欧美日韩在线不卡中文 | 国产黄色在线网站 | 中文字幕一区二区三区 精品 | 国产亚洲精品午夜高清影院 | 日本一区二区三区在线 视频观看免费 | 男女视频在线观看 | 亚洲国产一区二区三区综合片 | 极品精品国产超清自在线观看 | 国产日本亚洲欧美 | 成人久久精品一区二区三区 | 黑人边吃奶边扎下面激情视频 | 成人在线观看国产 | 模特精品一区二区三区 | 99国产精品农村一级毛片 | 26uuu天天夜夜综合 | 国产三级精品久久三级国专区 | 九九九精品视频免费 | 在线观看免费国产 | 八戒午夜精品视频在线观看 | 亚洲女精品一区二区三区 | av在线天堂网 | 久久精品最新免费国产成人 | 黄色片成年人 | 在线一区免费视频播放 | 国产精品久久久影院 | 欧美日韩亚洲综合另类ac | 亚洲波多野结衣日韩在线 |