Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中找到最小值?_Javascript - Fatal编程技术网

在javascript中找到最小值?

在javascript中找到最小值?,javascript,Javascript,我想在JS中打印最小的变量“name”。目前,它打印最小值。我更想要变量名。例如:-在当前代码中,它给了我4,但我想要c。我该怎么做 <script> function myFunction() { var a = 5; var b =10; var c = 4; document.getElementById("demo").innerHTML=Math.min(a,b,c); } </script> 函数myFunction() { var a=5; var b=

我想在JS中打印最小的变量“name”。目前,它打印最小值。我更想要变量名。例如:-在当前代码中,它给了我
4
,但我想要
c
。我该怎么做

<script>
function myFunction()
{
var a = 5;
var b =10;
var c = 4;
document.getElementById("demo").innerHTML=Math.min(a,b,c);
}
</script>

函数myFunction()
{
var a=5;
var b=10;
var c=4;
document.getElementById(“demo”).innerHTML=Math.min(a,b,c);
}

将值存储在对象数组中。每个对象将包含一个
名称
属性。然后遍历这些值并存储最低值

var values = [
    {
       "name": "a",
       "value": 5
},
    {"name":"b",
      "value":10
    },
    {
        "name":"c",
        "value":4
    }
];

function min(arr){
    var minValue = {};
    for(var x = 0; x < arr.length; x++){
        if(arr[x].value < minValue.value || !minValue.value){
            minValue = arr[x];
        }
    }
    return minValue.name;
};
document.getElementById("demo").innerHTML = min(values);
var值=[
{
“姓名”:“a”,
“价值”:5
},
{“姓名”:“b”,
“价值”:10
},
{
“姓名”:“c”,
“价值”:4
}
];
最小功能(arr){
var minValue={};
对于(变量x=0;x
JS小提琴:

这应该可以做到:

//Push values to object
var age = {};
age.a = 5;
age.b = 10;
age.c = 4;

var min = Infinity, name;

// Loop through object to get min value and then find relevant name
for(var x in age) {
    if( age[x] < min) {
        min = age[x];
        name = x;
    } 
}

console.log ( 'property name is ' + name + ' and value is ' + min );
//将值推送到对象
变量年龄={};
年龄a=5岁;
年龄b=10岁;
年龄c=4岁;
var min=无穷大,名称;
//循环遍历对象以获取最小值,然后查找相关名称
对于(var x,年龄){
如果(年龄[x]
您可以将值放入如下数组中

var values = [
    { name: 'a', value: 5 },
    { name: 'b', value: 10 },
    { name: 'c', value: 4 }
 ];
然后使用带有以下提示的
过滤器
方法:

查看此示例。

您可以这样做:

var obj = {"names":["a","b","c"], "values":[5,10,4]}

var min = Math.min.apply( Math, obj["values"] );
var result = obj["names"][obj["values"].indexOf(min)];
document.getElementById("demo").innerHTML=result;
这里是小提琴:

方式1:

var x = 5;var getName = function(value){if(value === 5) return 'x'; else return null}
方式2:
NameValue.getName=function(value){for(i=1;ibetter将它们存储在一个数组中,除了将值存储在一个数组中之外,还有其他解决方案吗?因为我需要在HTML中输入变量的名称,这就是我要求它的原因。我认为有一种方法可以指定此方法的比较函数(类似于
Math.min(MyArray,MyFunc)
)…也许我被另一种语言弄糊涂了?
var x = 5;var getName = function(value){if(value === 5) return 'x'; else return null}
NameValue.getName(10);  //return "x"