我目前有一組資料,其中包含一個物件陣列,每個物件有 12 個索引和 2 個值。
每個索引都包含鍵“月”和“年”。Months 是一個子陣列,而 year 是一個字串值(很容易變成一個 int)。
我希望按年份鍵的值對我的物件陣列進行排序
. 例如,目前,我的資料看起來像這樣
0: {months: {…}, year: "2017"}
1: {months: {…}, year: "2019"}
2: {months: {…}, year: "2018"}
3: {months: {…}, year: "2011"}
4: {months: {…}, year: "2010"}
5: {months: {…}, year: "2012"}
6: {months: {…}, year: "2013"}
7: {months: {…}, year: "2015"}
8: {months: {…}, year: "2014"}
9: {months: {…}, year: "2016"}
我正在嘗試將其從最低 -> 最高年份排序。我嘗試使用地圖,但我無法弄清楚正確的功能。任何建議都會很棒,謝謝。
uj5u.com熱心網友回復:
這很簡單。使用Array.prototype.sort函式對陣列進行排序。由于year是字串值,因此您必須將其決議為整數以進行排序。嘗試這個-
const data = [
{ months: null, year: "2017" },
{ months: null, year: "2019" },
{ months: null, year: "2018" },
{ months: null, year: "2011" },
{ months: null, year: "2010" },
{ months: null, year: "2012" },
{ months: null, year: "2013" },
{ months: null, year: "2015" },
{ months: null, year: "2014" },
{ months: null, year: "2016" },
];
data.sort((a, b) => parseInt(a.year) - parseInt(b.year));
console.log(data);
uj5u.com熱心網友回復:
嘗試這個:
let data = [
{months: {a: 'a'}, year: "2017"},
{months: {a: 'a'}, year: "2019"},
{months: {a: 'a'}, year: "2018"},
{months: {a: 'a'}, year: "2011"},
{months: {a: 'a'}, year: "2010"},
{months: {a: 'a'}, year: "2012"},
{months: {a: 'a'}, year: "2013"},
{months: {a: 'a'}, year: "2015"},
{months: {a: 'a'}, year: "2014"},
{months: {a: 'a'}, year: "2016"}
];
let sorted = data.sort((a, b) => a.year - b.year);
console.log(sorted);
uj5u.com熱心網友回復:
使用Array.sort將比較功能傳遞給它。
const arr = [{months:[],year:"2017"},{months:[],year:"2019"},{months:[],year:"2018"},{months:[],year:"2011"},{months:[],year:"2010"},{months:[],year:"2012"},{months:[],year:"2016"},];
const res = arr.sort((a, b) => a.year - b.year);
console.log(res);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315794.html
標籤:javascript 数组 目的
下一篇:如何使用字串和陣列創建物件陣列
