data = {
"age": [41, 21, 88],
"name": ["Rob", "Tom", "Susan"],
"color": ["Red", "Blue", "Orange"]
}
我将如何根据 1 个数组的值对这些记录进行排序?我试过 sort() 函数,但它没有将数据压缩在一起。
data = {
"age": [21, 41, 88],
"name": ["Tom", "Rob", "Susan"],
"color": ["Blue", "Red", "Orange"]
}
如果要保持数组分开,可以通过对年龄数组进行排序来提取索引顺序,然后按该顺序对每个数组进行排序:
let data = {
"age": [41, 21, 88],
"name": ["Rob", "Tom", "Susan"],
"color": ["Red", "Blue", "Orange"]
};
let indexOrder = data.age
.map((a, i) => [a, i])
.sort((a, b) => a[0] - b[0])
.map(a => a[1]);
for (let k in data) {
data[k] = indexOrder.map(i => data[k][i]);
}
console.log(data);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句