簡體   English   中英

如何合並、排序和循環 JavaScript 對象?

[英]How to merge, sort and loop over JavaScript objects?

我有一個循環,它返回整數值和對象,如下所示:

2
{firstName:"John", lastName:"Doe", age:28, eyeColor:"blue"}
3
{firstName:"Jane", lastName:"Doe", age:22, eyeColor:"brown"}
1
{firstName:"Jack", lastName:"Doe", age:50, eyeColor:"red"}

這些是在循環內逐行返回的不同值。 我需要根據數字的排序順序遍歷對象,並在兩個不同的變量中獲取數字和每個對象。 我需要得到並能夠遍歷它的是:

1
{firstName:"Jack", lastName:"Doe", age:50, eyeColor:"red"}
2
{firstName:"John", lastName:"Doe", age:28, eyeColor:"blue"}
3
{firstName:"Jane", lastName:"Doe", age:22, eyeColor:"brown"}

所以我將能夠在這樣的函數中使用它:

loop sorted 
    some_function(number_variable, object_variable);
end loop

我需要按特定順序調用它們,因為它們用於網格列重新排序。

我試圖將對象推送到數組中,但我將如何根據其他數值對這些對象進行排序?

提前致謝!

您可以基於數字生成對象的結果數組,如index = number-1

var nums = [2,3,1];
var objects = [
{firstName:"John", lastName:"Doe", age:28, eyeColor:"blue"},
{firstName:"Jane", lastName:"Doe", age:22, eyeColor:"brown"},
{firstName:"Jack", lastName:"Doe", age:50, eyeColor:"red"}
];
var sortedObjects = nums.map(function(num) {return objects[num-1]});
sortedObjects.forEach(function(obj, i) {some_function(nums[i], obj)})

暫無
暫無

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

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