簡體   English   中英

如何使用Javascript基於另一個數組的相應元素的屬性對數組進行排序?

[英]How do I sort an array based on the attribute of corresponding elements of another array using Javascript?

說我有兩個數組。 一個是:

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); 

要獲得預期的結果,請使用以下選項使用indexOf和sort

  1. 排序陣列- 一個使用排序用b數組值使用的indexOf

 var a = ["a", "b", "c", "d"] var b = [3, 2, 1, 4] console.log(a.sort((x,y) => b[a.indexOf(x)] - b[a.indexOf(y)])) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM