javascript属性delete if false if true nothing循环
我需要通过对象键循环,如果属性为false,则删除键属性。到目前为止,这就是我所拥有的,但我不知道我做错了什么javascript属性delete if false if true nothing循环,javascript,loops,object,for-loop,methods,Javascript,Loops,Object,For Loop,Methods,我需要通过对象键循环,如果属性为false,则删除键属性。到目前为止,这就是我所拥有的,但我不知道我做错了什么 function onlyTheTruthy() { onlyTheTruthy.key; var prop; for (key in onlyTheTruthy){ if (key != true) { delete onlyTheTruthy.key.prop } else { } } return onlyThe
function onlyTheTruthy() {
onlyTheTruthy.key;
var prop;
for (key in onlyTheTruthy){
if (key != true) {
delete onlyTheTruthy.key.prop
}
else {
}
}
return onlyTheTruthy;
};
在
for…In
循环中,使用键访问对象上的值。这是用括号完成的,如obj[key]
function onlyTheTruthy(obj) {
for (var key in obj) {
if (!obj[key]) {
delete obj[key];
}
}
return obj;
}
这是你的密码
行:
您可以声明一个名为的函数,该函数名为onlyTheTruthy
,不带任何参数。然而,我认为应该采取一种方式:o
这条线没用。它应该被移除
设置变量prop
的范围,但不给它任何值。好的
一个循环。你可能想确切地研究它的作用。除了第2行之外,以前从未见过键
变量,但这是一个不同的变量:一个onlythtruthy
属性。此外,您正在循环使用所属函数的键:onlythtruthy
。我相信这不是你想要的。尝试:
for (prop in o) {
检查键
是否不等于true。布尔值用作对象键的情况不太常见。也许:
if (!o[prop]) { // Or, more verbosely:
if (o[prop] === false) {
查找([]
)
空其他
。不或者怎么样?你知道,这不是必须的
}
关闭
循环中…的
返回函数本身。不。怎么样o
?或者,如果最终修改了对象本身,则根本不需要返回
函数声明末尾不需要分号
快乐编码
固定版本:
function onlyTheTruthy (o) {
for (var prop in o) {
if (!o[prop])
delete o[prop];
}
}
首先:在for…in循环中,键始终是字符串,并且始终是真实的,其次,您做错了什么取决于您试图实现什么,这在您的代码中并不明显,因为代码中有几个奇怪的地方least@muhahmad共享对象的结构。
function onlyTheTruthy (o) {
for (var prop in o) {
if (!o[prop])
delete o[prop];
}
}