这就是我所拥有的,我试图在for循环中做到这一点,而且它并没有完全按照我的需要去做。我想过做$ .each,但我不知道怎么过去只是循环数组。
var myKeys = [{a:1, b:10}, {a:5, b:8}, {a:3, b:2}, {a:1, b:6}];
我想运行一个通过键搜索的函数。找到最低的'b'值,然后返回'a'键。在上面的例子中:搜索并找到2,但返回3({a:3,b:2})
试过这个,但我只是返回0,1,2,3(所有键)及其索引。
for (var key in myKeys) {
if (myKeys.hasOwnProperty(myKeys[key]) <= 2) {
console.log(key);
}
}
任何有关如何修复它的见解都会很棒。如果它只是1值,我就不会有问题。这是有多个,我需要返回其他值。
答案 0 :(得分:2)
var myKeys = [{a:1, b:10}, {a:5, b:8}, {a:3, b:2}, {a:1, b:6}];
var min = myKeys.reduce(function(current, previous){
return (current.b > -1 && current.b < previous.b ? current : previous);
}, {a:-1, b:-1});
console.log(min);
&#13;
答案 1 :(得分:1)
var myKeys = [{a:1, b:10}, {a:5, b:8}, {a:3, b:2}, {a:1, b:6}];
for (var x = 0; x < myKeys.length; x++) {
var this_key = myKeys[x];
for (var key in this_key) {
if (this_key[key] <= 2) {
console.log(key);
}
}
};
&#13;
答案 2 :(得分:0)
我想运行一个通过键搜索的函数。找到最低点 &#39; B&#39;值,然后返回&#39; a&#39;键。在上面的例子中:搜索和 找到2,但返回3
您可以创建变量index
,n
来存储具有"b"
对象属性和"b"
属性值的元素的索引。使用for..of
循环迭代Array.prototype.entries()
数组。检查数组"b"
属性的当前对象是否小于先前对象"b"
属性。在index
循环后使用for..of
获取"a"
的{{1}}属性。
myKeys[index]
&#13;