Javascript循环对象

Javascript looping objects

本文关键字:对象 循环 Javascript      更新时间:2023-09-26

我需要创建一个名为onlyTruthy的函数,该函数接受一个对象,循环遍历其所有属性,并删除任何错误的属性。然后返回传入的对象。但我不知道如何使其真实或虚假。这就是我到目前为止所拥有的。

function onlyTruthy (val) {
    for (var key in val) {
        if (val.hasOwnProperty(key)) {
            alert(key + " -> " + val[key]);
        }
    }
    return val;
}

我认为您可以使用!来检查它是否是错误的,并使用delete运算符来删除属性

function onlyTruthy(val) {
  for (var key in val) {
    if (val.hasOwnProperty(key) && !val[key]) {
      delete val[key];
    }
  }
  return val;
}

这里是最简单、最高效的:

var car = {
    make: "bmw",
    model: "328i",
    year: "2012",
    color: null,
    mileage: undefined,
    doors: false,   
    cylinders: ""
};

onlyTruthy=(o)=>{
    Object.keys(o).forEach((p)=>(!o[p])?delete o[p]:null);
    return o;
}

我认为最好创建一个新变量,只保存现有对象的真值,如下所示:

var yourOldObject;  /* some data in it */
var newObject = onlyTruthy(yourOldObject);  /* newObject variable holds only true values now */
function onlyTruthy (val) {
    var newObj = {};
    for (var key in val) {
        if (val.hasOwnProperty(key) && val[key]) {
            newObj[key] = val[key];
        }
    }
    return newObj;
}

您可以简单地将对象替换为自己的对象(具有一些特性)

    for (var property in object) {
if (object.hasOwnProperty(property)) {
     alert( ' the Key is  : '+ property + ' And the value is : ' + object[property]);
}
}

您可以通过ur类的实例或任何其他object 来更改对象