Tôi đang cố gắng sắp xếp một mảng các đối tượng, trong ngữ cảnh này, và tôi đang cố gắng viết một hàm nơi người dùng có thể sắp xếp dãy nhà khoảng cách của một mốc. Nói rằng tôi đã dữ liệu sau trở về từ một API mà tôi đang kêu gọi thông qua AJAX:Cách sắp xếp một mảng theo giá trị của một đối tượng trong một mảng lồng nhau
"data" : [
{
'id' : 123,
'address' : '12 street name',
'city' : 'City Name',
'landmarks' : [
{
'name' : 'landmark one',
'distanceInMiles' : 0.6
},
{
'name' : 'landmark two',
'distanceInMiles' : 0.4
}
]
},
{
'id' : 345,
'address' : '22 street name',
'city' : 'City Name',
'landmarks' : [
{
'name' : 'landmark one',
'distanceInMiles' : 0.2
},
{
'name' : 'landmark three',
'distanceInMiles' : 0.1
}
]
},
{
'id' : 456,
'address' : '28 street name',
'city' : 'City Name',
'landmarks' : [
{
'name' : 'landmark six',
'distanceInMiles' : 8.2
},
{
'name' : 'landmark seven',
'distanceInMiles' : 1.6
}
]
}
]
tôi đã có một số mã mà sẽ trả lại nhà có chứa một mốc đặc biệt, ví dụ lọc mảng này để trả về những ngôi nhà có cột mốc "mốc một" và tôi lưu trữ dữ liệu đã lọc đó vào một mảng riêng biệt. Nhưng bây giờ tôi muốn đi thêm một bước nữa và đặt hàng mảng kết quả đã lọc của tôi dựa trên giá trị distanceInMiles
so với mốc được chọn. Vì vậy, gắn bó với bối cảnh này, tôi đang cố gắng viết một số mã sẽ trả về hai ngôi nhà với địa chỉ "22 tên phố" đầu tiên và ngôi nhà có tên "12 tên đường phố" thứ hai, vì "22 tên đường phố "ngôi nhà gần với mốc hơn cái kia.
Tôi đang sử dụng _loadash làm thư viện tiện ích của mình, nhưng cố gắng tìm hiểu cách sắp xếp mảng được lọc theo khoảng cách "một mốc". Bất kỳ ý tưởng?
Mọi trợ giúp sẽ được đánh giá cao.
'r.sort (function (a, b) {return a.landmarks [0] .distanceInMiles - b.landmarks [0] .distanceInMiles;}) ' – dandavis
@dandavis Bạn có thể đặt câu trả lời đó vào một câu trả lời và giải thích nó không. – dannypaz