如何获取具有最接近值的数组项的索引?

red*_*rom 0 javascript comparison jquery

我在json中有以下对象数组,我想得到数组中对象的索引,该索引最接近给定数值的天数属性.

在jQuery或JS中存在任何内置函数,或者我如何轻松解决它?

谢谢你的帮助.

"warningAttributes": [
                        {
                            "id": "3",
                            "days": 15,                          
                            "color": "#FFFFFF"                 
                        },
                        {
                            "id": "4",
                            "days": 98,                          
                            "color": "#343434"                  
                        }
                    ]
Run Code Online (Sandbox Code Playgroud)

Chr*_*les 6

var warningAttributes =  [{"id": "3", "days": 15, "color": "#FFFFFF"},
                          {"id": "4", "days": 98, "color": "#343434"}]

var target = 90; 

var nearest = warningAttributes.sort(function(a,b){ 
    return Math.abs(a.days-target) - Math.abs(b.days-target)
})[0];
Run Code Online (Sandbox Code Playgroud)

如果您不在,这也会为您提供最近的列表 [0]