Javascript 获取特定数组属性的最小值的更好方法

Javascript 获取特定数组属性的最小值的更好方法,javascript,arrays,min,Javascript,Arrays,Min,我找到了一种获取数组中特定属性的最小值的方法。这是一个两步的过程。有更好、更直接的方法吗 目标:从数组中获取最小价格值 例如: array = [{"ID": 1, "Price": 2.30}, {"ID": 2, "Price": 3.00}, {"ID": 3, "Price": 1.75}]; 以下是我所做的: 步骤1:创建仅包含价格值的临时数组 var filteredArray = array.map(function (val) {

我找到了一种获取数组中特定属性的最小值的方法。这是一个两步的过程。有更好、更直接的方法吗

目标:从数组中获取最小价格值

例如:

array = [{"ID": 1, "Price": 2.30}, {"ID": 2, "Price": 3.00}, {"ID": 3, "Price": 1.75}];
以下是我所做的:

步骤1:创建仅包含价格值的临时数组

var filteredArray = array.map(function (val) {
                            return val["Price"];
                        });
步骤2:找到最小价格值

var arrayMinValue = Function.prototype.apply.bind(Math.min, null);

var minPrice = arrayMinValue(filteredArray)
这似乎奏效了。但是否需要第一步?有没有办法不使用步骤1直接找到最小价格值

谢谢

使用方法通过迭代这些值,将其缩减为单个值

数组=[{
“ID”:1,
“价格”:2.30
}, {
“ID”:2,
“价格”:3.00
}, {
“ID”:3,
“价格”:1.75
}];
//迭代数组元素
var min=array.reduce(函数(上一个,下一个){
//返回最小值
返回上一个console.log(最小)
数组.reduce()的完美用例

如果您不熟悉,请参阅,但简而言之,第一个参数是回调,其前两个参数是1)执行结束时最终返回的运行值,以及2)输入数组中的每个元素。第二个参数是初始运行值。回调将返回新的运行值,该值将与下一个数组元素一起传递。

您可以使用该方法创建一个包含价格和类似用法的数组:

var-arr=[{
“ID”:1,
“价格”:2.30
}, {
“ID”:2,
“价格”:3.00
}, {
“ID”:3,
“价格”:1.75
}];
var minPrice=Math.min.apply(null,Array.from(arr,e=>e['Price']);
console.log(minPrice)
array.reduce((lowest, obj) => Math.min(obj.Price, lowest), Infinity)