:)
我需要删除值大于给定数字的属性。我看过这个问题:How do I remove a property from a JavaScript object?还有这个:Remove some properties from array of javascript objects还有这个:remove item from array javascript但我似乎仍然无法获得所需的答案。 (他们要么只返回数字,要么返回我不需要的数组的其他部分。)
这是我写的代码:
function removeNumbersLargerThan(num, obj) {
arr = [];
for (var i = 0; i < obj.length; i++) {
return arr[i] > 5;
}
}
var obj = {
a: 8,
b: 2,
c: 'montana'
};
removeNumbersLargerThan(5, obj);
这是我的结果:
console.log(obj); // => { a: 8, b: 2, c: 'montana' }
正确的 console.log 应该是这样的:
{ b: 2, c: 'montana' }
有什么建议吗?谢谢! PS:我是新来的,即使我试图遵守规则,我的问题似乎也被标记了很多。如果我发错了,有人可以让我知道我做错了什么,如果他们要给我打分吗?这样我可以改进。我是来学习的! :D 非常感谢!
最佳答案
function removeNumbersLargerThan(num, obj) {
for (var key in obj) { // for each key in the object
if(!isNaN(obj[key]) && obj[key] > num) // if the value of that key is not a NaN (is a number) and if that number is greater than num
delete obj[key]; // then delete the key-value from the object
}
}
var obj = {
a: 8,
b: 2,
c: 'montana'
};
removeNumbersLargerThan(5, obj);
console.log(obj);
关于javascript - 删除任何值大于给定数字的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42463998/