[英]Assign object values conditionally JavaScript
我從 api 接收數據對象,其中某些屬性的值可能為 null。 我想創建一個返回對象的函數,但對於具有空值的屬性,則使用“-”代替。 我試過了:
const hyphenOrContent = movie => {
return Object.values(movie).map(val => {
return val === null ? "-" : val
});
}
但這僅返回一組值。 我讀過最好不要使用 for in 循環,所以我想盡可能避免使用循環。 任何幫助表示贊賞!
映射對象的條目,將null
s 轉換為-
s,然后使用Object.fromEntries
將條目數組轉換為對象:
const hyphenOrContent = movie => Object.fromEntries(
Object.entries(movie).map(
([key, val]) => ([key, val === null ? "-" : val])
)
);
只需遍歷對象並更改屬性。
const hyphenOrContent = movie => { Object.entries(movie).forEach(([key, val]) => { if (val === null) movie[key] = '-'; }); }; var a = { foo: null, bar: '123', baz: null } hyphenOrContent(a); console.log(a);
如果您不想更改原件,可以克隆它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.