[英]In javascript, how to get the unit (e.g. em or px) from a pixel value (e.g. 2em or 20px)?
[英]How to sort multi-array / nested map by value (e.g. from Firestore) in JavaScript
我正在嘗試通過 JavaScript / TypeScript 按值排序的多數組/嵌套 map。
我的數組目前看起來像這樣:
let array =
[
{
classification: {
company_id: 1
},
information: {
name: 'C'
}
},
{
classification: {
company_id: 1
},
information: {
name: 'B'
}
},
{
classification: {
company_id: 1
},
information: {
name: 'A'
}
}
];
現在我想像這樣按['information']['name']
值排序:
let array_sorted =
[
{
classification: {
company_id: 1
},
information: {
name: 'A'
}
},
{
classification: {
company_id: 1
},
information: {
name: 'B'
}
},
{
classification: {
company_id: 1
},
information: {
name: 'C'
}
}
];
有人知道該怎么做嗎? 我特別為嵌套的東西苦苦掙扎......
先感謝您!
使用String.prototype.localeCompare
,您可以比較字符串值並基於該結果,使用Array.prototype.sort
function,您可以對 arrays 進行如下排序。
let array = [{ classification: { company_id: 1 }, information: { name: 'C' } }, { classification: { company_id: 1 }, information: { name: 'B' } }, { classification: { company_id: 1 }, information: { name: 'A' } } ]; const result = array.sort((a, b) => a.information.name.localeCompare(b.information.name)); console.log(result);
您可以使用排序 function。 它看起來像這樣:
const array_sorted = array.sort(
(a, b) => {
if (a > b.information.name) return -1;
if (a < b.information.name) return 1;
return 0;
}, 0
)
您可以通過交換 1 和 -1 來反轉順序。 排序 function 采用 function 的第一個參數,返回 -1、1 或 0,表示順序,第二個參數設置變量“a”的初始值(可選)。 我已將初始值設置為 0,這就是我喜歡使用排序 function 的方式,因為我認為它更容易編寫:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.