这就是我所拥有的,我试图以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
您可以创建变量index
,n
来存储具有 "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});