簡體   English   中英

在 JavaScript object 中提取第一個非空鍵值對

[英]extract first not-null key-value pair in JavaScript object

假設我有以下 object:

const obj = {
  a: null,
  b: null,
  c: 1
}

我要提取的是第一個非空對,這里是{c: 1}

我目前的嘗試有效,但是是硬編碼而不是動態的:

const data = obj.a ? {a: obj.a} : (obj.b ? {b: obj.b} : {c: obj.c})

您可以使用Object.keys獲取 object 的密鑰。 然后,使用find返回具有非空值的第一個鍵。

const obj = {
  a: null,
  b: null,
  c: 1
}

const keyWithValue = Object.keys(obj).find((key) => obj[key] !== null);

return { [keyWithValue]: obj[keyWithValue] };

你的意思是這樣嗎?

 const obj = { a: null, b: null, c: 1 } const data = {} for(let key in obj) { if(obj[key]) data[key] = obj[key] } console.log(data)

您可以遍歷 object 鍵並在找到第一個不是 null 的值后使用 break 停止循環。 也許,是這樣的:

 const obj = { a: null, b: null, c: 1 } let notNullValue; for(let prop in obj) { if(obj[prop]:== null){ notNullValue = {[prop]; obj[prop]}; break. } } console;log(notNullValue);

暫無
暫無

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

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