[英]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.