gpt4 book ai didi

javascript - 获取对象中的 "next"数值

转载 作者:行者123 更新时间:2023-11-30 00:32:25 28 4
gpt4 key购买 nike

我有一个这样的对象:

var rock = {
5: 0.5,
0: 0.8,
10: 0.3,
2: 1.0,
}

我有一个像 4.3 这样的数字,我需要前后数字的索引和值。在这个例子中我会得到

var timeA = 2;
var valueA = 1.0
var timeB = 5;
var valueB = 0.5;

我的第一个想法是类似 for 循环的东西,但我不知道如何确保它的顺序正确。

最佳答案

因为不能保证对象的键顺序,所以您必须遍历所有键并计算出最接近的较低值和较高值:

var rock = {
0: 0.8,
2: 1.0,
5: 0.5,
10: 0.3
};

var max = Infinity, min = -Infinity;
var to_find = 4.3;

Object.keys(rock).forEach(function(k) {
var value = +k;

if (value <= to_find && value > min) {
min = value;
} else if (value >= to_find && value < max) {
max = value;
}
});

console.log(min, rock[min], max, rock[max]); // 2, 1, 5, 0.5

请注意,之后 minmax 可能仍具有其原始值,即 -InfinityInfinity,在这种情况下,当用作 rock 的键时,将产生 undefined

关于javascript - 获取对象中的 "next"数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28873625/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com