删除对象中的false值

for*_*fly 8 javascript arrays arraylist angularjs

我面临的问题是 - 在具有属性的onject中删除值.false 这是对象

var myObj={105:true,183:false,108:true,106:false}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下逻辑获取数组中的值:

Object.keys(myObj)给人["105","183","108","106"] 但我需要一种方法来删除具有财产虚假和产生的价值["105",108"].可你能帮我吗?

Ult*_*nct 9

您拥有数组中对象的键.在上面运行过滤器.

var myObj={105:true,183:false,108:true,106:false};

var result = Object.keys(myObj).filter(function(x) { 
    return myObj[x] !== false; 
});
// result = ["105", "108"]
Run Code Online (Sandbox Code Playgroud)


jul*_*oup 6

我刚刚在 JSBin 上为您的问题创建了一个解决方案:工作演示

请找到下面的代码:

var myObj={105:true,183:false,108:true,106:false};
var myArray = [];

function RemoveFalseAndTransformToArray () {
  for (var key in myObj) {
    if(myObj[key] === false) {
        delete myObj[key];
    } else {
        myArray.push(key);
    }
  }
}
RemoveFalseAndTransformToArray();
console.log("myObj: ", myObj);
console.log("myArray: ", myArray);
// result = ["105", "108"]
Run Code Online (Sandbox Code Playgroud)

如果您有任何疑问,请告诉我。