Javascript 根据数组中某个键的条件,从数组中获取单个对象
我有一个对象数组,我只想获得数量最大的对象,在本例中是id为4的对象,并试图使用javascript的filter属性,但我没有实现它,否则我能实现吗Javascript 根据数组中某个键的条件,从数组中获取单个对象,javascript,arrays,ecmascript-6,javascript-objects,Javascript,Arrays,Ecmascript 6,Javascript Objects,我有一个对象数组,我只想获得数量最大的对象,在本例中是id为4的对象,并试图使用javascript的filter属性,但我没有实现它,否则我能实现吗 [ { "id": 1, "quantity": 10, "price": 80 }, { "id": 2, "quantity": 30, "price": 170 }, { "id": 3, "quantity": 50, "price": 230
[
{
"id": 1,
"quantity": 10,
"price": 80
},
{
"id": 2,
"quantity": 30,
"price": 170
},
{
"id": 3,
"quantity": 50,
"price": 230
},
{
"id": 4,
"quantity": 100,
"price": 100
}
]
这将映射整个JSON对象数组,并跟踪数量最高的对象的索引
let indexOfHighest = 1
arrayOfObject.map((obj,index) = {
if(obj.quantity > arrayOfObject[indexOfHighest].quantity)
{
indexOfHighest = index
}
})
这将映射整个JSON对象数组,并跟踪数量最高的对象的索引
let indexOfHighest = 1
arrayOfObject.map((obj,index) = {
if(obj.quantity > arrayOfObject[indexOfHighest].quantity)
{
indexOfHighest = index
}
})
在这种情况下,正确的选择是:
const most = array.reduce((a, b) => a.quantity > b.quantity ? a : b);
在这种情况下,正确的选择是:
const most = array.reduce((a, b) => a.quantity > b.quantity ? a : b);
您可以按
数量对数组进行排序,然后从排序后的数组中提取第一项
var a = [{
"id": 1,
"quantity": 10,
"price": 80
}, {
"id": 2,
"quantity": 30,
"price": 170
}, {
"id": 3,
"quantity": 50,
"price": 230
}, {
"id": 4,
"quantity": 100,
"price": 100
}]
a.sort((obj1, obj2)=> obj2.quantity - obj1.quantity)[0]
// {id: 4, quantity: 100, price: 100}
您可以按数量对数组进行排序,然后从排序后的数组中提取第一项
var a = [{
"id": 1,
"quantity": 10,
"price": 80
}, {
"id": 2,
"quantity": 30,
"price": 170
}, {
"id": 3,
"quantity": 50,
"price": 230
}, {
"id": 4,
"quantity": 100,
"price": 100
}]
a.sort((obj1, obj2)=> obj2.quantity - obj1.quantity)[0]
// {id: 4, quantity: 100, price: 100}
只是提供另一个答案-使用库有点过火
这将使用数学库查找最大数量,然后在数组中查找具有该数量的对象。不是最好的答案,而是解决问题的另一种方式:)只是提供了另一个答案-使用库有点过火
这将使用数学库查找最大数量,然后在数组中查找具有该数量的对象。这不是最好的答案,而是解决问题的另一种方式:)@certainPerformance你如何找到最大的数量?@certainPerformance你如何找到最大的数量?虽然这个代码片段可能是解决方案,但确实有助于提高你文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。虽然此代码片段可能是解决方案,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。