说我有两个数组。一个是:
A = [a, b, c, d]
另一个是
B = [w, x, y, z]
A中的每个元素对应于B中的相应元素
(i.e. a -> w, b -> x, c -> y, d -> z)
现在,我要按照B元素的属性(例如值)的升序对数组A进行排序
(eg. w.value = 3, x.value = 2, y.value = 1, z.value = 4)
因此,我想要的输出是:
[c,b,a,d]
如何使用Javascript执行此操作?任何帮助将不胜感激。我在这个问题上停留了很长时间。
您可以获取索引,使用的值对它们进行排序,b
并a
通过使用排序的索引来映射的值。
var a = ['a', 'b', 'c', 'd'] ,
b = [3, 2, 1, 4],
indices = [...b.keys()].sort((x, y) => b[x] - b[y]),
result = indices.map(i => a[i]);
console.log(result);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句