簡體   English   中英

如何在JavaScript中的數組列表中的數組中獲取值

[英]How to get a value in an array that's in a list of arrays in javascript

要填充HTML選擇字段,我需要以下數據:

let options = [
 {'label': '--Choose--', 'value':''},
 {'label': 'Linux', 'value':'linux'},
 {'label': 'OSX', 'value':'mac'},
 {'label': 'Windows 98', 'value':'win9x'},
 {'label': 'Windows XP', 'value':'winxp'}
]

現在使用值“ mac”,我想獲得標簽“ OSX”。

是否可以使用JSX中的該數組基於該值獲取標簽?

例如,“ mac”應為“ OSX”

我有ES6 / ReactJS / Undercore / jQuery。

使用filter返回過濾后的數組,獲取第一個元素(這是一個對象),然后獲取label的值。

var label = options.filter(el => el.value === 'mac')[0].label;

演示

您可以使用Array.prototype.find()

let option = options.find(el => el.value === 'mac');
let label = option ? option.label : undefined;

感謝您的快速答復,對於我自己的用例(不確定'mac'和選項)的用例,我使其更加健壯。 注意==而不是===,因為大多數時間將整數與字符串進行比較。

export function getLabelByValue(value, options) {
  if(value !== '' && value !== null && options.length > 0) {
      return options.filter(el => el.value == value)[0].label
  }
  return ''
}

let label = getLabelByValue('mac', options)

暫無
暫無

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

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