使用 'for..in' 和 'if' 迭代条件删除对象 属性
Iterative conditional removal of object property using 'for..in' and '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' 循环内满足 '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'}
您应该将 delete obj.key;
替换为 delete obj[key];
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'}
您在定义要删除的对象键时错过了方括号。
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];