gpt4 book ai didi

javascript - 如何根据 javaScript 中的条件从对象中删除值

转载 作者:行者123 更新时间:2023-12-03 00:53:46 26 4
gpt4 key购买 nike

为什么这段代码运行没有错误,但没有从 obj 中删除任何内容?

function removeEvenValues(obj) {
for (i=0; i < obj.length;++i)
if (obj[i].value%2===0)
delete obj[i];
return obj;
}

const obj = {a:1, b:2 ,c:3, d:4}
const res = removeEvenValues(obj);

console.log(res);

最佳答案

与 Python 不同,你不能只迭代对象的长度,因为 obj.length === undefined。您可以使用Object.keys()来获取键数组。然后你可以迭代它们:

obj = {a:1,b:2,c:3,d:4}

function removeEvenValues(obj) {
Object.keys(obj).forEach(key =>{
if (obj[key] % 2 ===0)
delete obj[key];
})
return obj;
}

console.log(removeEvenValues(obj))

或者您也可以使用for...in:

obj = {a:1,b:2,c:3,d:4}

function removeEvenValues(obj) {
for(let key in obj){
if (obj[key] % 2 ===0)
delete obj[key];
}
return obj
}

console.log(removeEvenValues(obj))

关于javascript - 如何根据 javaScript 中的条件从对象中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52937365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com