Javascript 删除值大于给定数字的所有属性
:) 我需要删除值大于给定值的属性。我看了这个问题,还有这个问题,还有这个问题,但我似乎仍然无法得到我想要的答案。(它们要么只返回数字,要么返回我不需要的数组的其他部分。) 这是我写的代码:Javascript 删除值大于给定数字的所有属性,javascript,Javascript,:) 我需要删除值大于给定值的属性。我看了这个问题,还有这个问题,还有这个问题,但我似乎仍然无法得到我想要的答案。(它们要么只返回数字,要么返回我不需要的数组的其他部分。) 这是我写的代码: function removeNumbersLargerThan(num, obj) { arr = []; for (var i = 0; i < obj.length; i++) { return arr[i] > 5; } } var obj = { a: 8, b: 2,
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应该是这样的:
{ b: 2, c: 'montana' }
有什么建议吗?非常感谢。
附言:我是新来的,我的问题似乎被打了很多分,尽管我试图遵守规则。如果我的帖子不正确,如果有人要给我打分,请告诉我我做错了什么?这样我可以提高。我是来学习的!:D非常感谢 Object.keys()
函数将给定对象的所有键作为数组返回。然后,迭代它们,检查指定的键是否大于给定的数字,如果大于,则删除它
varobj={a:8,b:2,c:'montana',d:12};
功能清理(对象,数量){
Object.keys(obj.forEach)(v=>obj[v]>num?删除obj[v]:v);
控制台日志(obj);
}
清洁(obj,5)代码>
函数removeNumbersLargerThan(num,obj){
for(对象中的var键){//for对象中的每个键
if(!isNaN(obj[key])&&obj[key]>num)//如果该键的值不是NaN(是一个数字),并且该数字大于num
删除obj[key];//然后从对象中删除键值
}
}
var obj={
a:8,
b:2,
c:‘蒙大拿’
};
拆下编号为5的制动盘(obj);
控制台日志(obj)问题中的代码>javascript
未检查对象属性值。您可以使用Object.entries()
获取属性键、值对的数组,for..of
循环迭代属性和值,如果值等于或大于5
function removeNumbersLargerThan(num, obj) {
for (let [key, value] of Object.entries(obj)) {
if (typeof value === "number" && value > 5) delete obj[key]
}
}
很好,简洁的回答,但是对于一个新程序员来说可能有点吓人,可能需要一些解释。非常感谢!!谢谢你的解释和答案!非常有用!!:D
function removeNumbersLargerThan(num, obj) {
for (let [key, value] of Object.entries(obj)) {
if (typeof value === "number" && value > 5) delete obj[key]
}
}
function removeNumbersLargerThan(num, obj) {
for(const property in obj){
if(obj[property] > num){
delete obj[property];
}
}
console.log(obj)
}
/*
1. compare the numbers
2. delete what you need to
3. RETURN your needs
You can check MDN for for...in
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
*/