我想在 JS 中打印最小变量“名称”。目前它打印最小值。我更想要变量名。例如:-在当前代码中,它给了我4
,但我想要c
。我怎样才能做到这一点?
<script>
function myFunction()
{
var a = 5;
var b =10;
var c = 4;
document.getElementById("demo").innerHTML=Math.min(a,b,c);
}
</script>
我想在 JS 中打印最小变量“名称”。目前它打印最小值。我更想要变量名。例如:-在当前代码中,它给了我4
,但我想要c
。我怎样才能做到这一点?
<script>
function myFunction()
{
var a = 5;
var b =10;
var c = 4;
document.getElementById("demo").innerHTML=Math.min(a,b,c);
}
</script>
这应该可以解决问题:
//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 );
将值存储在对象数组中。每个对象都将包含一个name
andvalue
属性。然后只需遍历这些值并存储最低值。
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);
JS 小提琴:http: //jsfiddle.net/AgMbW/
你可以把你的值放在一个数组中,比如
var values = [
{ name: 'a', value: 5 },
{ name: 'b', value: 10 },
{ name: 'c', value: 4 }
];
然后使用带有Ahmad 评论filter
提示的方法:
var min_value = Math.min.apply(null, values.map(function(item) {
return item.value;
}));
var min_name = values.filter(function (item) {
return item.value == min_value;
})[0].name;
请参阅此小提琴以获取工作示例。
你可以这样做:
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;
这里的小提琴:http: //jsfiddle.net/eUcug/
方式1:
var x = 5;var getName = function(value){if(value === 5) return 'x'; else return null}
方式2:
NameValue.getName = function(value){for(i = 1;i<=2;i++){if(this["val" + i].value === value) {return this["val" + i].name;break;}console.log(this["val" + i]);}return null;}NameValue.val2 = {name : 'y',value : 1};NameValue.prototype.add({name : 'x',value : 10})
NameValue.getName(10); //return "x"
我希望你能理解如何找到变量名。