簡體   English   中英

在數組JavaScript中查找特定元素

[英]Find specific element in array javascript

我有一個包含n個數組的數組A。 n個數組中的每個數組都包含兩個元素。 第一個是ID,第二個是對象。 有關更多詳細信息,請參見以下示例:

A = [ [100, object1], [22, object2], [300, object3]]

對於給定的ID,我想獲取關聯的對象。 例如,對於id = 22 ,我想獲取object2

循環,檢查並返回

function getById(id) {
    for (var i = 0; i < A.length; i++) {
        if (A[i][0] == id) {
            return A[i][1];
        }
    }
    return false;
}

這是一種非常基本的方法。 遍歷A ,繼續檢查每個數組的第一個成員是否與您的id匹配,並在匹配的情況下返回關聯的對象。

function returnObjectById(id) {
    for (var i=0; i< A.length; i++) {
        if (A[i][0]==id) {
            return A[i][1];
        }
    }
    return false; // in case id does not exist
}

在Coffeescript中:

returnObjectById = (id) ->
  i = 0
  while i < A.length
    if A[i][0] == id
      return A[i][1]
    i++
  false
  # in case id does not exist

CoffeeScript版本可能像:

find_in = (a, v) ->
    return e[1] for e in a when e[0] == v

那么你可以說:

thing = find_in(A, 22)

如果找不到v ,則會得到undefined

a中的for e in a是一個基本的for循環,那么when子句僅在其條件為true時才執行主體。 因此,該循環在功能上等效於:

for e in a
    if e[0] == v
        return e[1]

精美的手冊涵蓋了所有這一切。

在CoffeeScript中,您可以使用JS到CF的過渡

getById = (id) ->
  i = 0
  while i < A.length
    if A[i][0] == id
      return A[i][1]
    i++
  false

暫無
暫無

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

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