Skip to content

Instantly share code, notes, and snippets.

@bubnenkoff
Created November 24, 2020 15:58
Show Gist options
  • Save bubnenkoff/63d30157a13eb5e6bca0319e12318fba to your computer and use it in GitHub Desktop.
Save bubnenkoff/63d30157a13eb5e6bca0319e12318fba to your computer and use it in GitHub Desktop.
<script>
const input = {
dishonest_total: [3,6,2,7,1,9],
customer_inn_and_name_list: ["aa", "bb", "cc", "dd", "ee", "ff"],
dishonest_rest: [5,1,6,1,4,1],
dishonest_true: [0,3,3,8,1,1]
}
function foo(input) {
var first_key = Object.keys(input)[0];
var len = input[first_key].length;
const merged_array = [];
for (var i = 0; i < len; i++) {
merged_array[i] = merge_object(Object.keys(input));
}
Object.keys(input).forEach((key) => {
input[key].forEach((val, i) => {
merged_array[i][key] = val;
});
});
merged_array.sort((a, b) => a[first_key] - b[first_key]);
var result = {};
Object.keys(input).forEach((key) => {
result[key] = [];
});
merged_array.forEach((el) => {
Object.keys(el).forEach((key) => {
result[key].push(el[key]);
});
});
return result;
}
function merge_object(keys, rep = null) {
var res = {};
keys.forEach((el) => {
res[el] = rep;
});
return res;
}
//foo(input)
//console.log(input)
console.log(foo(input))
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment