使用 'for..in' 和 'if' 迭代有条件地删除对象属性



function removeNumbersLargerThan(num, obj) {
  for (var key in obj) {
    if (!isNaN(obj[key]) && obj[key] > num) {
      delete obj.key;
    }
  }
  return obj;
}
var obj = {
  a: 8,
  b: 2,
  c: 'montana'
}
removeNumbersLargerThan(5, obj);
console.log(obj); // Should be {b: 2, c: 'montana'}
该函数应删除符合" for" for'for'for'for'for'for'的任何属性。

您错过了方括号,同时定义删除对象键。

function removeNumbersLargerThan(num, obj) {
  for (var key in obj) {
    if (!isNaN(obj[key]) && obj[key] > num) {
      delete obj[key];
    }
  }
  return obj;
}
var obj = {
  a: 8,
  b: 2,
  c: 'montana'
}
removeNumbersLargerThan(5, obj);
console.log(obj); // Should be {b: 2, c: 'montana'}

您应该将delete obj.key;替换为delete obj[key];

最新更新