javascript - 在 JavaScript 中循环使用 for... 进行迭代

标签 javascript for-in-loop

我有一个名为 objToArray 的空数组。如果键的值大于或等于 2,我正在尝试使用 for-in-loop 用哈希 checkObj 对象中的所有数字填充数组。

const checkObj = {
  oddNum: 1,
  evenNum: 2,
  foundNum: 5,
  randomNum: 18
};

const objToArray = [];

for (let values in checkObj) {
  if (Object.values(checkObj) >=2 ) {
    objToArray.push(checkObj.values())
    }
}

console.log(objToArray);

到目前为止,我将 objToArray 作为一个空数组,即使它应该包含三个元素并且应该等于 [2, 5, 18]。

最佳答案

试试 Object.values(checkObj).filter(x => x >= 2);

  1. 使用 Object.values(checkObj) 获取所有值的数组。
  2. 使用 .filter(x => x >= 2) 过滤数组并获取 >= 2 的值

如果你想使用 for ... in 循环 那么它会遍历 key 以便你可以通过 obj 获得值(value)[键]。正如您已声明 for (let values in checkObj) values 对象将持有 checkObjkey。因此,您可以使用 checkObj[values] 访问值。

检查下面的输出。

const checkObj = {
  oddNum: 1,
  evenNum: 2,
  foundNum: 5,
  randomNum: 18
};

// Approach 1
let result = Object.values(checkObj).filter(x => x >= 2);
console.log(result);

// Approach 2
const objToArray = [];
for (let values in checkObj) {
  if (checkObj[values] >= 2) {
    objToArray.push(checkObj[values]);
  }
}
console.log(objToArray);

关于javascript - 在 JavaScript 中循环使用 for... 进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62671735/

相关文章:

javascript - 如何清空一个javascript数组?

javascript - SVG。从文本中获取路径

javascript - 循环遍历对象以输出图标 javascript

for-loop - awk for-in 循环给出意外的输出?

javascript - 在 JavaScript ES6 中,for-in 循环和 for-of 循​​环中,变量 i 在 block 的每次迭代后不再存在?

javascript - 去掉 for-in 语句

javascript - 无法实现惰性 Highcharts 接收错误

javascript - 如何在react中显示数组的数据?

javascript - 数组到对象?

javascript - 看不见时暂停/恢复 Youtube 视频(滚动)