JavaScript/jQuery:数组 - 对于最低键的循环返回值



这就是我所拥有的,我试图以for in loop进行操作,而不是完全做我需要做的事情。我想到了$。每个,但是我不确定如何越过阵列。

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个值,我就不会有问题。这是有多个,我需要返回其他值。

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);

这样的人?

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);
        }
    }
};

我想运行一个通过密钥搜索的函数。找到最低 'B'值,然后返回" A"键。在上面的情况下:搜索和 查找2,但返回3

您可以创建变量indexn来存储具有 "b"对象的属性和 "b"属性的元素的索引。使用for..of循环迭代数组的Array.prototype.entries()。检查数组"b"属性的当前对象是否小于以前的对象"b"属性。在for..of循环之后使用index获取"a" myKeys[index]的属性。

var myKeys = [{a:1, b:10}, {a:5, b:8}, {a:3, b:2}, {a:1, b:6}];
let n = index = 0;
for (let [key, prop, curr] of myKeys.entries()) {
  if (({b:curr} = prop, curr) < n || !n) [n, index] = [curr, key];
}
let {a} = myKeys[index]; // call `delete n` here if `n`:`2` not needed;
console.log({a}); 

最新更新