Skip to content

Commit 0e11bd0

Browse files
authored
Create 对象多key值排序.js
1 parent b33d972 commit 0e11bd0

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

对象多key值排序.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var sortObj = (obj, attr, order = 'asc') => {
2+
var tmp = [];
3+
var sObj = {};
4+
sObj[attr] = {};
5+
if (!obj[attr]) {
6+
return;
7+
}
8+
for (var key in obj[attr]) {
9+
tmp.push({
10+
key,
11+
value: obj[attr][key]
12+
});
13+
}
14+
tmp.sort((a, b) => a.key.localeCompare(b.key));
15+
order.toLowerCase() === 'asc' ? tmp : tmp.reverse();
16+
tmp.map(item => sObj[attr][item.key] = item.value);
17+
return sObj;
18+
}
19+
var obj = {
20+
name: {
21+
react: { company: 'Facebook' },
22+
vue: { company: 'You' },
23+
angular: { company: 'Google' },
24+
}
25+
};
26+
var t1 = sortObj(obj, 'name', 'desc');
27+
console.log(t1)

0 commit comments

Comments
 (0)