簡體   English   中英

Javascript循環對象

[英]Javascript looping objects

我需要制作一個名為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類實例或任何其他對象來更改對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM